Laden...

Forenbeiträge von marco.b Ingesamt 303 Beiträge

16.02.2009 - 08:53 Uhr

Ok, dann steht ja dem nächsten Kick-Ass-Batman-Utility-Belt-Opensource-Projekt nichts mehr im Wege. Viel Erfolg.

16.02.2009 - 08:26 Uhr

Achja, malignate, eine kleine persönliche Vorstellung deinerseits wäre auch nicht schlecht, um Interessenten zu gewinnen. Welchen Werdegang hast du schon hinter dir, bist du beruflich in der Branche, Student oder Hobbyprogrammierer?
Nicht falsch verstehen, aber die Gesichter in einem Forum sind recht unterschiedlich und ich traue ein solches Werk (vorallem die Koordinierung) eher einem Berufsinformatiker oder Studenten als einem Schüler zu.

16.02.2009 - 07:51 Uhr

Machbarkeit: Machbar, du musst dir aber eines schon klar vor Augen führen: Wenn du eine solche Bibliothek entwickelst, sollte sie keine weiteren Abhängigkeiten benötigen. Das heißt, du implementierst die ganzen Low-Level-Details selbst. Das verlangt von dir, dich auf binärer Ebene mit dem Format deiner jeweiligen Grafikdateien auseinanderzusetzen, und die Standardformate solltest du schon unterstützen. Auch mit ihren jeweiligen Eigenheiten. GIFs können animiert sein, PNGs können Alphakanäle speichern.
Was für dich letztlich von Vorteil sein wird: Die Formate wurden schon tausend mal vorher implementiert, du wirst also im Internet auch gute Anhaltspunkte finden. http://www.wotsit.org/ (zwingend mit www-Prefix!) möchte ich mal als Quelle nennen, falls unbekannt.

Voraussetzung sollte meiner Ansicht nach weiterhin sein, dass du die Software öffnest, sprich unter einer Open-Source-Lizenz bereitstellst. So kannst du Sicherheitslücken verhindern. Du weißt ja, je mehr Augen über den Code schauen, desto stabiler wird er. Drüberschauen heißt natürlich nicht, dass jeder mit reinfrickeln sollte, also Repositoryschreibrechte sollte ein von dir ausgewähltes Team haben 😉

Zur Sinnhaftigkeit: Sehr sinnvoll. Silverlight 3 würde ich ignorieren. Wann das kommt steht bislang in den Sternen, was es enthalten wird, ebenso. Und selbst wenn es verfügbar ist, werden viele Firmen und Hobbyentwickler immernoch Version 2 verwenden, weil es ziemlich lange dauern wird, bis die neue Version flächendeckend verbreitet ist.

Mithilfe: Da ich früher viel Low-Level-Programmierung in Assembler und C geleistet habe, generell ja. Nur zeitlich siehts bei mir sehr knapp aus. Aber ab- und zu kann ich ein paar Zeilen hacken. Dazu aber meinerseits zwei Bitten zum Codedesign:

  • ENGLISCHE Bezeichner, kein "Denglisch"! Kein "ZeichneRect"
  • C# Konventionen, kein "drawRect()"
  • Keine kryptischen Prefixes vor Klassennamen, kein "XYGraphics". Dazu sind Namespaces da!
15.02.2009 - 21:42 Uhr

Ach, das finde ich interessant. Ich dachte, System.Drawing gehört zum Subset. Nun verstehe ich natürlich das Problem und den Sinn deiner Projektidee.
Ich fände es gut, wenn eine entspr. Bibliothek da wäre, zumal ich bisher fest damit gerechnet habe, das eine solche zur Verfügung steht.

15.02.2009 - 19:57 Uhr

Was willst du ausgleichen?
Du redest von

  • Einem Uploadsteuerelement f. Bilder
  • Komprimierten Bildern
  • Laden und speichern verschiedener Formate

Mir wird nicht ganz klar, was du genau erreichen willst. Mit System.Drawing habe ich doch schon Bildbearbeitungsfunktionen, oder?
Vielleicht kannst du dein Vorhaben noch etwas besser beschreiben, damit auch langsame Menschen wie ich durchblicken.

13.02.2009 - 19:35 Uhr

Ich sehe gerade, dass ein aufmerksamer Benutzer mit Moderatorrechten meinen Titel aussagekräftiger gemacht hat. Vielen dank dafür, ich hätte das selbst tun sollen.

13.02.2009 - 19:27 Uhr

Hi,

ich habe es nun geschafft, eine erste "Hello World"-Entity-Framework-Anwendung zu schreiben, welche Postgres als Backend nutzt (leider ohne Designersupport).
Ich habe zum Entity Framework generell aber noch zwei Fragen um herauszufinden, ob es meine für ein Projekt formulierte Anforderungen erfüllt.

  1. Der Kunde muss, wenn er das Programm auf seinem Webserver installiert, das Datenbanksystem WÄHLEN können(!). Generell wird eine Menge unterstützter DB-Systeme definiert, z.B. SQL Server 2008, Postgre, MySQL, Oracle. Bei manuellem ADO.NET Mapping würde ich nun einfach den ConnectionString austauschen, und die passenden ADO.NET Providerlibs mitliefern. Funktioniert das mit dem EF ähnlich, oder bin ich an das Datenbanksystem, aus dem ich zu Beginn ein Schema generiert habe, gebunden? Dank dieser konzeptionellen Entitätenschicht müsste ich doch unabhängig sein, oder?

  2. Ich verstehe nicht ganz, wie das mit dieser manuellen Modellierung funktionieren soll. Man muss ja ein EF-Schema nicht aus einer DB generieren, sondern kann sozusagen bei 0 anfangen, und die einzelnen Entitäten (im Designer oder mittels XML) modellieren. Naiverweiße habe ich jetzt gedacht, dass es ein Mechanismus gibt, dieses modellierte Schema nun auf einer Datenbank zu deployen, sprich die Datenbank mit allen Tabellen und Constraints mittels EF automatisch zu generieren. Am besten noch so, dass ich das beim Kunden leicht für verschiedene DBs in den Setup-Prozess integrieren kann. Damit bin ich aber wohl auf dem Holzweg, oder? Scheinbar muss ich die Entitäten modellieren, dann aber noch zusätzlich das Datenbankschema auf dem jeweiligen Datenbanksystem von Hand anlegen. Der Sinn dahinter kam mir aber bis dato nicht in den Kopf gekrochen. Habe ich das Konzept falsch verstanden?

Über Antworten v. d. Experten würde ich mich freuen 😉

11.02.2009 - 19:18 Uhr

Für alle, die sich die gleiche Frage gestellt haben:

Unter dem Framework-Ordner für .NET 3.5 SP1, für 32-Bit Systeme unter
C:\Windows\Microsoft.NET\Framework\v3.5,

gibt es ein Tool namens EdmGen.exe, welches u.A. das Modell aus einer Datenbank heraus generieren kann. Dabei lässt sich ein Provider, in diesem Falle Npgsql, angeben. Hier ein Aufrufbeispiel:

edmgen /mode:FullGeneration /project:Test /c:"Server=localhost; User Id=post
gres; Password=**************; Database=test" /provider:Npgsql

Und falls ihr den gleichen Fehler macht wie ich: Ich habe zu Beginn nicht realisiert, dass es auf der NPGSQL Homepage zwei Downloads der aktuellen Version gibt. Ein Build für .NET 2.0 und ein Build für .NET 3.5 SP1. Die Sache funktioniert nur mit letzterem, logischerweise...

11.02.2009 - 10:58 Uhr

Also erstmal solltest du .NET einmal verstehen.
ASP.NET lässt sich nicht mit C# vergleichen. ASP.NET ist ein Subframework, das sich mit C# und anderen .NET Sprachen programmieren lässt.

Zweitens glaube ich nicht, dass der von .NET gebotene Stack mit Ruby on Rails vergleichbar ist. Entschuldige, aber .NET bietet eine Vielzahl von Technologien und Komponenten, die fuer das Design (verteilter) Geschäftsanwendung ausgerüstet sind.

Ruby hingegen ist eine Interpretersprache, fuer die es ein ganz nettes Web Framework gibt (ROR). Und will man mit ROR programmieren, muss man alles in das ROR-Schema pressen, wenn man nicht das halbe Framework auseinander nehmen will:

  • Beachtung der Konvention
  • Nur eine Datenbank
  • Möglichst nicht so hohe Ansprüche an Internationalisierung
  • Jede Anwendung muss eine relationale Datenbank nutzen
  • Primary Keys müssen autoincremented sein,
  • etc.

Leider lassen sich viele große Anwendungen nicht in das ROR-Schema pressen. ROR/Ruby und .NET zu vergleichen ist einfach eine Beleidigung für .NET. Mir gefällt Ruby auch, ich mag auch Ruby on Rails weil es für kleinere Anwendungen sehr effizient ist. Aber sorry, .NET spielt einfach in einer anderen Liga.

11.02.2009 - 07:56 Uhr

Oh vielen dank, das habe ich nicht gefunden. Das ist schade.
Ist das Ding irgendwie dennoch schon benutzbar? Kann ich nicht mit einem Kommandozeilentool die Entities generieren? Ich habe zu dem Thema NULL Dokumentation gefunden!

10.02.2009 - 20:27 Uhr

Verwendetes Datenbanksystem: Postgres 8.x

Hi,

neuerdings ist NPGSQL (.NET Anbindung für Postgres) ja offiziell Entity Framework Provider. Naiv wie ich bin, ging ich davon aus, dies auch in der Design Time Unterstützung zu merken.
Ich habe NPGSL in den GAC eingefügt und in den DbProviderFactories registriert, scheint auch geladen zu werden. Allerdings erlaubt mir der Dialog, in dem ich die Datenbankverbindung herstellen kann, nur die Auswahl einer SQL Server Datenbank. Klicke ich auf "andere", steht mir nur ein "Drittanbieter zur Verbindung mit einer SQL Server Datenbank" zur Verfügung. Von NPGSQL keine Spur.

Was muss ich tun, um mit NPGSQL bequem arbeiten zu können?

26.01.2009 - 13:50 Uhr

Hi herbivore,

ja, ich behaupte, dass jedes größere Softwareprojekt langfristig aufgrund eines Verfalls altert. Dieser Verfall wird durch Implementierungen ausgelöst, die zu Beginn nicht vorgesehen waren.
Dies habe ich in einigen Firmen bei einigen größeren Projekten beobachtet. Ein Gegenbeispiel, sprich ein kerngesundes Großprojekt, ist mir noch nicht untergekommen. Für jedes Beispiel bin ich aber sehr dankbar.

Bevor ein Beispiel aufgezählt wird, bitte beachten: Ich spreche von Projekten in der freien Wirtschaft, da diese in den allermeisten Fällen durch ständig neue Anforderungen recht unvorhersehbar wachsen, da man die genauen Anforderungen der Geschäftsprozesse zukünftiger Kunden nicht kennt. Das mag auf eine Treibersoftware oder eine wissenschaftl. Simulationssoftware nicht zutreffen.

Ich glaube nicht dass es pauschal immer technische Lösungen gibt, die helfen. Insbesondere hinter deinem Stichwort sehe ich keine wirkliche Lösung, da die Komplexität nicht vermindert wird, sondern nur die eigentliche, textliche Veränderung erleichtert wird. Die Analyse der Folgen einer solchen Veränderung wird damit nicht vereinfacht.

26.01.2009 - 12:36 Uhr

Hallo,

ich persönlich denke, das Problem wird von einigen etwas naiv betrachtet, vermutlich von denen, die noch nicht an wirklich großen Projekten gearbeitet haben. Die Behauptungen "lange Planung = saubere Architektur", "geldgeile Manager = schlechter Code" die so gerne geäußert werden, sind unüberlegt.

Ich spreche im Folgenden von Projekten, die eine Codegröße von 500.000 Zeilen aufwärts aufweisen. Hier haben wir meiner Erfahrung nach folgende Situation:

Erstmal ein paar Annahmen, die ich für das Folgebeispiel voraussetzen möchte und die vermutlich auch auf viele Projekte zutreffen:

  1. Das Projekt wird über viele Jahre hinweg entwickelt. Es gab schon mehrere Major- und Minorversionen, das Produkt ist im Einsatz.

  2. Bei einer solchen Projektgröße und Entwicklungsdauer kann man meistens auch davon ausgehen, dass viele verschiedene Entwickler daran gearbeitet haben, und bestimmt nicht immer das zu Projektbeginn aufgestellte Team. Entwickler kamen hinzu, Entwickler gingen. Der eine ist vielleicht ein erfahrener Informatiker gewesen, der andere kommt gerade von der Uni, wieder ein anderer hat gerade eine Ausbildung beendet, hat somit wenig Erfahrung, ist aber dafür recht ambitioniert.

Beginnen wir zeitlich bei 0:
Zu Projektbeginn gab es irgendwann mal eine Menge von Anforderungen, die vom resultierenden Produkt erfüllt werden sollen. Nehmen wir an, das anfängliche Team hat sich lange für die Planung zeitgelassen: Die Anforderungen analysiert, Zusammenhänge entschlackt und abstrahiert, und sämtliche Geschäftsfälle totmodelliert. Das Resultat ist eine saubere Klassenstruktur, die von nun an gepflegt wird.

Gehen wir nun 4 Jahre in die Zukunft. Das Produkt ist bei 200 Firmenkunden im Einsatz. Die Codegröße liegt inzwischen bei 230.000 Zeilen. Genug Platz für Bugs. Diese werden über ein Bugreporting-System eingespeist. Die Kunden möchten Fehler schnell behoben sehen, es herrscht also Zeitdruck.
Neu eingestellte Entwickler schlagen sich nun durch die 230.000 Zeilen Code, um die aktuellen 50 bekannten Bugs zu entfernen.
Leider erkennen sie nicht alle Feinheiten der vom ursprünglichen Team beabsichtigten Architektur. So beginnen sie, gegen Kapselungsvorgaben zu verstoßen. Klasse A braucht plötzlich zwei Setter mehr, die von Klasse B beschrieben werden sollen. Sollte laut dem ursprünglichen Entwicklermodell nie passieren, aber der eine, unglaublich nervige Bug konnte durch die neuen Setter ruckzuck behoben werden. Super, wieder ein zufriedener Firmenkunde!
Doch nicht nur Bugs werden gemeldet, auch Neuanforderungen. Neuanforderungen, die vom damaligen Entwicklerteam, welches die Grundarchitektur entworfen hatte, niemals vorausgesehen werden konnten. Also muss die Architektur umgebogen werden, damit neue Anforderungen zeitnahe implementiert werden können. Und selbst wenn viel Zeit vorhanden ist, ist es äußerst schwer eine Architektur zu verändern, auf der bereits so viele laufende Geschäftsprozesse innerhalb der Software aufbauen.

Spulen wir weitere 3 Jahre vor: Die Umbiegung und Veränderung der Architektur führt dazu, dass sich bereits sogenannte "Workarounds" für Inkonsistenzen im eigenen Projekt gebildet haben. Das Projekt fast inzwischen 700.000 Zeilen, und durch die immer wieder kehrende Einprogrammierung neuer Asssoziationen zwischen Klassen (Neue Parameter im Konstruktor, Getter / Setter, etc.) sind die Klassen untereinander ziemlich fest verzahnt, was es schwer macht, unsauber implementierte Teile der Architektur neuzuschreiben, da man damit wieder viele Löcher in anderen Codeteilen aufreist.

Jetzt nach 7 Jahren kommt ein ambitionierter Programmierer hinzu der sagt: Schlechte Architektur. Wer plant denn bitte so ein Blödsinn! Hätte man ja alles gleich besser machen können.
Und die Geschichte geht von Neuem los, nämlich bei 0, fest definierten Anforderungen und einer großen Portion Enthusiasmus.

Gehen wir nun 4 Jahre in die Zukunft...

27.09.2008 - 11:34 Uhr

Hi,

ich möchte Daten meiner Anwendung in einer Kartenansicht visualisieren. Deshalb benötige ich einen Dienst, am besten einen Webservice, der mir eine Rastergrafik anhand einer Lokalisierungsangabe liefert, welche eben diesen Kartenabschnitt darstellt (vllt. wahlweise als Satellitenbild).
Es gibt zwar die ganzen Online-Services wie Google, Microsoft,... aber da muss man irgendwie das Browsersteuerelement der WinForms implementieren. Ich bräuchte aber die reinen Rastergrafiken, ohne irgendeine HTML Einbettung o.Ä.

Super toll wäre es natürlich, wenn der Service frei wäre, ohne dass meine Anwendung an bestimmte Lizenzbedingungen gebunden wird.

Kennt jmd. etwas, das zu meinen Anforderungen passen könnte?

Danke
Marco

22.09.2008 - 08:12 Uhr

Danke für die Antworten.

Die Anforderungen sind ähnlich wie bei einem Chatclient-/Server, da es sich um ein Community-internes Kommunikationsprogramm handelt.

21.09.2008 - 20:00 Uhr

Hi,

ich kenne mich mit der WCF nicht sehr gut aus, und habe bisher nur Webservices damit realisiert. Nun brauche ich eine verschlüsselte persistente Echtzeitkommunikation zwischen einem Server und einigen Clients. Bisher hätte ich den Server mittels Sockets und einem Threadpool realisiert.

Jetzt wollte ich fragen, ob WCF auch für diese Art von Kommunikation geeignet ist, wie es sich mit der Performance verhält, und ob mir WCF bei der Verschlüsselung helfen kann.
Oder soll ich lieber auf klassische Sockets setzen?

Danke
Marco

17.09.2008 - 15:54 Uhr

Sorry für's Pushen,

aber das Problem besteht nach wie vor und ist nicht undringend. Ich möchte einfach Word-Dokumente serverseitig generieren, hier bietet sich ja XML an. Leider müssen das auch Word 2000 Benutzer öffnen können, OHNE eine Zusatzkompatibilitätsinstallation durchzuführen.

Gibt es also eine Möglichkeit, performant das XML nach der Generierung in das DOC Format zu transformieren?

23.08.2008 - 12:24 Uhr

Achso, entschuldigung das habe ich überlesen. Ich dachte, es ginge um einen Rootserver.

@GarlandGreene: Sorry für die falsche Korrektur 😉

Zum Problem: Für dein Vorhaben würden sich in der Tat Webservices anbieten. Dazu benötigst du den IIS Server und der wird bei einem Managed Windows-Server garantiert enthalten sein. Kein Windows Server arbeitet auf Basis von XP Home!
In 90% der Fälle bekommst du eine Windows 2003 Server Standardedition, bei meinem Server ists die 64-Bit Version.
In jedem Fall wird der IIS installiert sein.

Zum Entwickeln an deinem Arbeitsplatz benötigst du den IIS nicht zwingend, da ja mit Visual Studio ein Entwicklungswebserver ausgeliefert wird. Falls du unter MONO arbeiten willst, sollte dir der XSP Webserver helfen können, der kommt glaube ich standardmäßig mit MONO.

23.08.2008 - 10:59 Uhr

Problem: der Provider muss Mono anbieten - keine Ahnung, ob sich das ansatzweise durchgesetzt hat.

Blödsinn. Wenn er einen Server hat, muss der Provider überhaupt nichts anbieten, dann kann er sich selbst die Software einrichten, die er braucht. Dein Argument würde bei Shared Webhosting greifen, aber du sprichst doch in deinem Post selbst von einem Server.

20.08.2008 - 22:30 Uhr

Das hat nichts mit Möglichkeit zu tun, dir fehlt schlicht und ergreifend der geeignete Kontext, um eine 3D Anwendung direkt im Browser auszuführen. Woher soll er denn auch kommen - die HTML Elemente die mittels CSS eventuell als Pixel und Polygone dienen könnten, sind viel zu schwergewichtig - zeichne mal in einer JavaScript-Schleife 500x500 Div-Elemente, dann weißt du was ich meine.
Das Browser-Canvas-Element ist nur für 2D-Linien gedacht, und ebenfalls eine viel zu lahme Krücke für vernünftige 3D-Grafikausgaben. Es gibt zwar bereits Raycaster und ähnliche pseudodreidimensionale Spielereien, aber auch hier sind die Möglichkeiten schwer begrenzt.
Die Grafikfunktionen von Flash und Silverlight sind derweil viel zu langsam.

Klar kann man mittels Plugins etc. OpenGL ansprechen. Aber solange es kein etabliertes Browserplugin für 3D Grafiken gibt, das man standardmäßig auf dem Client des Nutzers vermutet und darüber hinaus noch auf den gängigen Browser- und Systemplattformen läuft, sehe ich für anspruchsvolle 3D-Grafik im Browser erstmal schwarz. Und ich würde behaupten, an der Situation wird sich die nächsten Jahre nichts ändern.

19.08.2008 - 14:11 Uhr

Genau deshalb gibt es diese Möglichkeit wohl nicht. Sie würde Entwickler dazu animieren, sicherheitsrelevante Sachen in einem sehr unsicheren Kontext auszuführen. Da JavaScript clientseitig läuft, kann es problemlos deaktiviert oder gar manipuliert werden. Wie Kaji sagt: Mach das mit einer Session.

19.08.2008 - 12:27 Uhr

Hi,

die Möglichkeit, welche deiner Anforderung am nähesten kommt ist "onunload", ein JavaScript-Ereignis in das du dich einhängen kannst. Allerdings wird dies nicht beim Schließen eines Fensters sondern beim Verlassen der Seite ausgelöst.
Das was du suchst, gibt es so nicht.

Aber vielleicht lässt sich dein Problem auch anders lösen. Dazu müsste man es aber ersteinmal kennen.

19.08.2008 - 12:21 Uhr

Silverlight hat keine 3D Unterstützung, die gibt es nur in WPF. Klar kann man eine eigene Grundlage für 3D Grafiken verwenden, für flüssig laufende 3D-Welten reicht die Performance allerdings nicht aus.
Meiner Meinung nach werden drehende Würfel und andere simple 3D-Modelle in Silverlight erstmal State-Of-The-Art bleiben.

19.08.2008 - 11:41 Uhr

Hi,

seit Office 2003 gibt es ja ein XML Format für Office-Dokumente. Ist es mir mit einer Art API auch möglich, aus dem XML Dokument eine Binärversion für ältere Officedokumente zu erstellen, oder kann ich das zumindest mit der Officeanwendung selbst irgendwie machen (Kommandozeilenparameter o.Ä.)?

Grüße
Marco

30.01.2008 - 15:30 Uhr

Hi,

in einem Servercluster benötige ich einen "gemeinsamen Speicherbereich", auf den alle Nodes des Clusters schnell zugreifen können. Distributed Hash Tables (http://de.wikipedia.org/wiki/Distributed_Hash_Table) sind ja scheinbar ganz praktisch dafür, allerdings finde ich bezüglich C# / .NET wenig zu diesem Thema.

Auf jedem Node soll es einfach eine Liste mit n Benutzer geben, denen jeweils ein Wert zugewiesen ist. Und diese Liste soll von jedem Node aus sehr schnell durchsuchbar sein. Eine Datenbank wird leider zu langsam sein, da es um eine Comet-Implementierung (HTTP Long Polling) geht, und die ist ja leider sehr zeitkritisch.

Über Antworten würde ich mich freuen.

03.01.2008 - 14:37 Uhr

Theme-Stylesheets werden implizit geladen, und benötigen keine Pfandangabe. Deshalb war es für mich nicht klar.

03.01.2008 - 13:37 Uhr

Hi,

so ich habe das nun nochmal ausprobiert.
Also die Skin-Dateien müssen im jeweiligen Wurzelverzeichnis liegen. Css-Dateien hingegen findet er auch in Unterordnern, und Bilder ebenso.

Folglich ergäbe sich folgende Struktur:
App_Themes/BlueSkin/SkinFile.skin
App_Themes/BlueSkin/Css/CssFile.css
App_Themes/BlueSkin/Images/...

03.01.2008 - 13:08 Uhr

Ich frage mich schon nach dem Sinn.
Ich finde nicht, dass weitere Unterordner die Übersichtlichkeit erhöhen. Zumal man in der Regel ja auch keine 100 Dateien im Skinordner hat.

Ich bin mir nicht sicher ob sich das was du da möchtest konfigurieren lässt, aber standardmäßig vorgesehen ist es wohl nicht unbedingt - zumal ASP.NET ja auch im Theme-Ordner befindliche CSS Dateien integriert, und dass dort automatisch alle Unterordner nach weiteren Dateien durchsucht werden, bezweifle ich mal.

03.01.2008 - 08:22 Uhr

... und der nächste Witz, der eine ernsthafte Diskussion nach sich zieht. Wollen wir vielleicht nochmal über Treiberusability diskutieren?
Leute, das ist ein Witzethread.

02.01.2008 - 22:14 Uhr

"Client" und "Server", und nicht "Klient" und "Diener". Das sind Fachbegriffe, und das kann man so stehen lassen denk' ich mal. Zumindest habe ich in Dokumentationen, Büchern und anderen Publikationen nie etwas anderes gelesen.

02.01.2008 - 20:26 Uhr

Also ausfallsicher finde ich ECS schon - hast du dort auch einen Server? Wie es bei Sharedhosting ist, weiß ich nicht.
Nur der Support ist bei ECS leider überhaupt nicht freundlich, auch wenn es heißt "die mit dem freundlichen Service".

02.01.2008 - 20:23 Uhr

@B A L U: Lol, einfach gut.

02.01.2008 - 20:14 Uhr

Jaa ich habe meine Faulheit nun überwunden und einen Windows-Dienst dafür geschrieben, der jetzt Erinnerungs-SMS-Nachrichten raushaut. Das in ASP.NET zu integrieren war eine blöde Idee. Trotzdem danke!

23.12.2007 - 17:56 Uhr

Hallo,

hat hier jmd. Erfahrungen mit dem Arbeiten von Background-Threads in ASP.NET Webanwendungen?
Meine Webanwendung soll ca. alle 20 Sekunden Arbeiten an der Datenbank vornehmen, welche von Benutzern während ihres Besuches modifiziert wurde.
Diese Arbeiten sollen wirklich in einem festen Intervall wiederholend erledigt werden, unabhängig davon ob die Webanwendung besucht wird oder nicht, und zwar bis zum manuellen Herunterfahren der Anwendung.

Nun dachte ich mir, dass ich in Global.asax einfach Application_Start / Application_End verwenden kann um einen Thread zu starten und wieder zu beenden, wollte dann aber doch hier nochmal nachfragen, ob gegen diese Vorgehensweise etwas spricht, oder ich einen gedanklichen Fehler mache. Vielleicht ist die Global.asax garnicht für Threads geeignet?

Für Erfahrungen o.Ä. wär ich dankbar.

Grüße
Marco

22.12.2007 - 22:19 Uhr

Danke für deine Antwort.
Wie würde das Verhalten geändert werden? Ich habe den SQL Server 2005 Expr. unter seinen Standardeinstellungen laufen, zumindest habe ich nichts verändert.

Gleichzeitig wurde in meinen Tests sicher nichts verarbeitet. Ich habe von Anwendung 1 ein Zugriff durchführen lassen, und ca. eine halbe Minute später von Anwendung 2, und die Datenbank war noch blockiert:

SqlException:
Die Standarddatenbank des Benutzers kann nicht geöffnet werden. Fehler bei der Anmeldung.

22.12.2007 - 21:41 Uhr

Verwendetes Datenbanksystem: SQL Server 2005 Expr.

Hallo,

ich habe eine datenlastige ASP.NET Webanwendung, welche mit einer Datenbank als Backend arbeitet. Auf dem Server arbeitet gleichzeitig zum normalen Webanwendungsbetrieb ein Konsolenprogramm, welches alle 20 Sekunden gewisse Dienste auf der Datenbank ausführt.

Sowohl die Webanwendung, als auch das Konsolenprogramm greifen also auf die gleiche Datenbank zu. Jeder Datenbankzugriff wird mittels SqlConnection.Close beendet. Dennoch scheinen sich die beiden Anwendungen beim Datenbankzugriff zu blockieren.

Wenn gerade das Konsolenprogramm auf die DB zugegriffen hat und noch läuft, erhält die Webanwendung keinen Zugriff mehr auf die Datenbank. Umgekehrt erhält das Konsolenprogramm keinen Zugriff, wenn die Webanwendung kürzlich auf die Datenbank zugegriffen hat.
Alle Zugriffe werden ganz sicher mit SqlConnection.Close beendet, und selbst wenn das nicht der Fall wäre, müsste die Datenbank ja wohl mehr als eine Connection gleichzeitig akzeptieren, oder?

Woran kann das Problem liegen? Ich bin im Moment recht ratlos.
Danke

17.12.2007 - 20:06 Uhr

Hallo,

arbeite seit einiger Zeit mit VS 2008 Beta 2 Standard Edition. Vorher hatte ich die VS 2005 Professional. Nun ist mir aufgefallen, dass die ganzen Designer für ASP.NET Mobile Forms fehlen. Ist das nur ein Konfigurationsproblem von Visual Studio oder ist das wirklich ein Feature verfügbar ab der Professional-Edition?
Ich frage, weil dies wohl mein ausschlaggebendes Kriterium sein wird, ob ich mir beim Release die Standard- oder wieder die Professional-Edition kaufe.

14.12.2007 - 12:44 Uhr

Hi,

habe das noch nie gemacht, aber würde dir vllt. eine PictureBox helfen, welche ein PNG File mit einem Alphakanal darstellt? Diese könntest du dann mitführen, zumindest innerhalb der Form.

12.12.2007 - 16:11 Uhr

Original von juetho
Normalerweise finde ich diese Smalltalk-Diskussionen für unwichtig bis lächerlich; diesmal musste ich aber grinsen, als ich über meine eigene Vergangenheit nachdachte.

Unwichtig vielleicht, aber warum lächerlich? Es zwingt dich keiner, das Smalltalkforum zu besuchen, oder?

Mein erster PC war aus dem Jahre 1994, ein 4/86er mit 100 MHz und 4 Megabyte Ram und Windows 3.11. Später habe ich dann auf 16 Megabyte Ram aufgerüstet, und das war total geil damals.

11.12.2007 - 12:50 Uhr

Hallo,

mag sein, aber dennoch ist es schön, mal im komplett kommentierten Sourcecode zu wühlen und sich auch die allgemeine Struktur etwas anzuschauen. Ich bin schlicht und ergreifend daran interessiert.
Dass ich an die Informationen wenn nötig auch anders komme, weiß ich.

Grüße
Marco

10.12.2007 - 23:16 Uhr

Ok danke, ich habe halt gehofft dass man dieses Jahr noch Einblicke kriegt - ich kann jedoch warten 😉

10.12.2007 - 21:25 Uhr

Hallo,

.NET 3.5 Final ist da, Visual Studio 2008 ist marktreif und überall wird von der Offenlegung der .NET Sourcecodes geredet. Das ist schön, doch wo finde ich den Download für die Quellcodes? Ich habe irgendwie nichts gefunden - sind sie noch nicht verfügbar? Gibt es eine Art Releasetermin?

Es wurde ja explizit gesagt, dass Visual Studio 2008 nicht nur Debuginformationen dynamisch aus dem Web nachladen könne, sondern der Quellcodedownload auch als Standalone verfügbar sei.

05.12.2007 - 12:54 Uhr

Jupp... den Ottonormalanwender interessieren keine Bootstrap-Geschichten. Es gibt auch Menschen auf dieser Welt, die keine technischen Herausforderungen meistern wollen.

Aber ich glaube hier ging es um Witze, und wir reden mittlerweile von Treiberusability 😉

05.12.2007 - 10:42 Uhr

Du musst per XMLHttpRequest (AJAX) wohl zum Server pollen und Statusmeldungen die der Server bereitlegt zum Client holen.

Was du vorhast geht mit rein serverseitigen Mitteln natürlich nicht.

05.12.2007 - 10:39 Uhr

Nunja du hast den Zugriff unbekannter Benutzer auf die Elemente der Website mittels <authorization> verboten, und da ist dein Logo eben auch dabei. Sobald du die Loginseite nochmals aufrufst, bist du als Benutzer bereits eingeloggt, und das Logo erscheint.

Du musst die Logodatei also für jede Art von Zugriff freigeben.

05.12.2007 - 10:34 Uhr

Hi,

also das Lernen eines Instruments ohne Lehrer ist machbar, so habe ich das bei der E-Gitarre gemacht. Es ist halt mühevoller, und man muss ein bisschen Selbstdisziplin an den Tag legen.
Wobei ich für das Saxophon vielleicht schon einen Musiklehrer aufsuchen werde - ich habe diesmal nicht wirklich die Lust, alles auf Grundlage von Büchern zu lernen.

Ein Saxophon kann man in jedem Musikladen kaufen, meins hat mit Zubehör knappe 300 Euro gekostet.

Ich melde mich mit Tonaufnahmen in einigen Monaten wieder 😉

04.12.2007 - 16:16 Uhr

D wurde für die systemnahe Programmierung konzipiert, womit ein Vergleich mit C# schonmal hinkt.
Abgesehen davon zitierst du keinen neutralen Erfahrungsbericht sondern einen Werbetext für ein Buch zur Programmiersprache D. Ist doch irgendwo logisch, dass die Sprache da ein wenig hochtrabend beschrieben wird oder? Das Buch soll ja Interesse wecken.

Letztendlich bietet D aber nichts Spektakuläres gegenüber anderer Sprachen.

30.11.2007 - 20:36 Uhr

Wobei ich mich schon frage warum du die Klasse als abstrakt deklariert hast, wenn du nicht vor hattest, eine Klasse davon abzuleiten?

29.11.2007 - 19:40 Uhr

Hallo,

nachdem ich nun schon eine weile E-Gitarre spiele, wollte ich mich mal an ein neues Instrument wagen: Ich bin seit 3 Stunden stolzer Besitzer eines Alt-Saxophons. 🙂
Nun wollte ich fragen, ob von euch jmd. dieses Instrument spielt, und mir vielleicht Einsteigerlektüre empfehlen kann. Um ehrlich zu sein weiß ich Moment nicht einmal, ob meine Finger richtig sitzen 😉 Ich bräuchte also wirklich etwas auf absolutem Einsteigerniveau.

Würde mich freuen, wenn mir jmd. etwas empfehlen könnte 🙂
Danke.

29.11.2007 - 15:02 Uhr

@cytrics: Korrigiere mich, wenn ich mich irre, aber AutoEventWireup hat doch mit dem Problem überhaupt nichts zu tun oder? Dieses Property ist dazu da, Page-Events ausgezeichnet durch eine Namenskonvention automatisch an die Seite zu binden.