Laden...

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

19.10.2007 - 16:16 Uhr

@Golo: Er sagte es wird Freeware. Wahrscheinlich möchte er wissen, ob man es benutzen würde.

@v.wochnik: Also es kommen Dateien in einen freigegebenen Ordner und dein Programm schiebt es mir in einen anderen Ordner und filtert die Dateien. Kannst du mir ein konkretes Beispiel nennen, wann ich das brauchen kann? Also bei uns in der Firma schieben wir uns auch immer Dateien hin- und her. Aber ich wüsste nicht, warum die Sachen in einen Verwahrungsordner müssten. Aber vielleicht habe ich auch einfach nicht genug Ahnung von Freigaben.

19.10.2007 - 15:23 Uhr

Ich empfehle dir einfach, die Werbung zu entfernen.
Deine Seite bietet schlichtes Design und mäßigen Inhalt. Nicht das, was dir strömende Besucher einbringen wird. Nichts für ungut, aber eine C++ Hallowelt Anleitung finde ich bei Google tausend mal. Keine Sau wird sich für derart allgegenwärtige Informationen eine penetrante JavaScript-Werbung gefallen lassen.
Da du mit der Werbung wohl kaum was verdienst machst du damit mehr kaputt als dass du finanziell reinholen kannst. Also entferne sie.

Und die Klickbetrügerei kannst du vergessen, die Provider sind nicht blöd. Und ich finde es schon ein wenig peinlich, dass du das hier öffentlich ansprichst. Spätestens hier habe ich dein Alter auch ohne Auskunft deinerseits gewusst.

Ansonsten:
Welches Programm soll denn veröffentlicht werden? Hast du eine kurze Beschreibung zur Hand? Je nach Genre bieten sich vllt. verschiedene Plattformen an.

Grüße
Marco

19.10.2007 - 09:41 Uhr

Wobei ich davon abraten würde ihn einzusetzen. Dieser Effekt ist weder schön noch besonders gelungen, er ist schlicht und ergreifend nervig und gibt dem Benutzer das Gefühl, mit seinem Browser passiert etwas was er nicht kontrollieren kann, zumal die Überblendung eh nicht mehr flüssig läuft sobald man noch irgendeine andere Kleinigkeit macht. Das ist genauso "originell" wie die 5 Bälle die per JavaScript den Mauscursor verfolgen, oder die lustige Rechtsklicksperre die mich auf manchen Seiten immer penetrant anmault wenn ich per Rechtsklick eine Seite zurück will.

Naja wer's braucht...

19.10.2007 - 09:34 Uhr

Gehöre auch zur Akkustik-/E-Gitarren-Fraktion und würde gerne Saxophon lernen 😉 Dafür fehlt mir aber die Zeit. 🙁

17.10.2007 - 20:59 Uhr

Auf einem Notebook (1 Jahr alt).

Intel Centrino Duo @ 1,66 GHz
2 Gigabyte Arbeitsspeicher
120 GB Festplatte

Ich komme gut zurecht.

17.10.2007 - 17:59 Uhr

Ich habe noch kein Videoplayer in ASP.NET geschrieben, aber bräuchte er da nicht eine Streaminglösung wie sie in Windows 2003 Server enthalten ist und somit einen dedizierten (V)-Server?

16.10.2007 - 14:43 Uhr

Hallo Peter Bucher,

kannst du mir einen nachvollziehbaren Grund nennen warum die ASP.NET Navigationcontrols wie TreeView nicht genutzt werden sollten? Deine Aussage kann ich nicht ganz nachvollziehen.

16.10.2007 - 13:37 Uhr

Schon lustig. Wenn man in Windows Vista die ein oder andere Aktion bestätigen muss, ist das unglaublich nervig. Wenn man in Linux für fast jeden Schritt den sudo bemühen und ein Passwort angeben muss, damit man für 5 Minuten Admin-Rechte bekommt und etwas außerhalb des Home-Verzeichnisses machen kann, gilt es als sicher.

15.10.2007 - 09:41 Uhr

Es geht einfach nicht - ich könnte aus der Haut fahren.
Also das SP1 habe ich installiert, ich benutze bei Rückgabewerten und Parametern keine exotischen Typen (nur String und Integer), nur intern verwende ich eigene .NET Typen.

Vielleicht liegt es an der Art, wie ich die TLB verfügbar mache?

  1. Ich kompiliere eine Klassenbibliothek unter VB.NET Express 2005 SP1
  2. Mit der Kommandozeile erstelle ich eine TLB mit "regasm datei.dll /tlb:datei.tlb /Codebase"
    Mit sn.exe habe ich zuvor einen Strongname generiert und die Assembly damit signiert
  3. Mit "gacutil /i datei.dll" registriere ich die Assembly im Global Assembly Cache

In Excel 2000 füge ich dann den Verweis auf die TLB hinzu. Dann kommt beim Ausführen eben die Fehlermeldung "invalid format".

11.10.2007 - 13:11 Uhr

Hi Rainbird,

nein das SP1 ist nicht installiert, nicht hier im Geschäft. Da wir im Geschäft ansonsten eher Java/PHP entwickeln, haben wir uns fürs Prototyping der Bibliothek für VB.NET 2005 Express entschieden, und meine private Visual Studio Pro will ich nicht unbedingt verwenden. Kann es vielleicht an VB Express liegen?

11.10.2007 - 08:44 Uhr

Hi Rainbird,

danke für deine Antwort, die Klassen sind jetzt sichtbar und IntelliSense funktioniert in VB6. Wenn ich nun den den VBA Excel Code ausführen will, gibt es bei der Zeile mit dem Methodenaufruf aus meiner Klasse die Fehlermeldung "The format of the file 'TestDLL.dll' is invalid".
Kennst du diese Meldung?

10.10.2007 - 14:05 Uhr

Habe noch etwas herausgefunden:

Wenn ich im VBA Objektkatalog im Kontextmenü auf "Verborgene Elemente anzeigen" klicke, wird mein Typ ausgegraut und mit führendem Unterstrich dargestellt. Was hat das zu bedeuten?

10.10.2007 - 12:50 Uhr

Hi,

für einen Kunden muss ich eine .NET Bibliothek in Excel VBA einbinden. Anforderung war, dass die Assembly in VB.NET geschrieben wird. Ich hoffe es ist ok, wenn ich die Frage dennoch in diesem Forum stelle.
Ich muss dazu sagen, dass es das erste mal ist, dass ich eine COM-Komponente für Office erstelle.

Ich habe eine Klassenbibliothek erstellt und folgende Klasse eingefügt. Ich dachte folgende Angaben genügen, um sie COM-fähig zu machen:


Imports System.Runtime.InteropServices

<Assembly: System.Reflection.AssemblyKeyFileAttribute( _
           "d:\Strongkey.snk" _
           )> 
<ComClass(OfficeArchiveService.ClassId, OfficeArchiveService.InterfaceId, OfficeArchiveService.EventsId)> _
Public Class OfficeArchiveService
#Region "COM GUIDs"
    ' These  GUIDs provide the COM identity for this class 
    ' and its COM interfaces. If you change them, existing 
    ' clients will no longer be able to access the class.
    Public Const ClassId As String = "6DB79AF2-F661-44AC-8458-62B06BFDD9E4"
    Public Const InterfaceId As String = "EDED909C-9271-4670-BA32-109AE917B1D7"
    Public Const EventsId As String = "17C731B8-CE61-4B5F-B114-10F3E46153AC"
#End Region
    Public Sub New()

    End Sub

    (... Methoden ...)

Dann habe ich mit dem Tool RegAsm.exe die Assembly registriert und eine TLB-Bibliothek daraus erstellt.
In Excel 2000 VBA habe ich den Verweis auf meine Bibliothek hinzugefügt.
Mein Problem ist nun, dass ich nicht auf meinen obigen Typen zugreifen kann. In der Objektkatalog-Ansicht von VBA wird von meiner Bibliothek lediglich der Typ "<Global>" bereitgestellt, zumindest steht das in der dortigen Liste.

Was mache ich falsch?

09.10.2007 - 22:40 Uhr

@ritzi: Die Infrastruktur der CLR ist sehr wohl plattformunabhängig aufgebaut, es gibt nur keine ausgereiften Implementierungen für andere Systeme, wobei Mono ein sehr fortgeschrittenes Projekt ist.

Btw. kann man mit "plattformunabhängig" auch Prozessorplattformen meinen. Und hier punktet die CLR und somit C# durch den JIT-Compiler, der optimierten Maschinencode für die jeweilige Plattform zur Laufzeit erstellt.

05.10.2007 - 13:59 Uhr

@BFreakout: Ok danke, nun ist mir dein Vorgehen klar. Ja, ich hatte Windows Mobile 2003, und ich denke das System ist mittlerweile recht verbreitet. Dein Projekt würde sicher davon profitieren, wenn es darauf lauffähig wäre.

05.10.2007 - 13:20 Uhr

beim öffnen ladet er die Textnachricht und Versendet Sie per SMS weiter..

Wie letztendlich versendet wird ist zumindest mir immernoch nicht klar, trotz dieser ausführlichen Erklärung. 😉

Ich finde das Programm ist eine nette Idee. Schade, dass mein PocketPC den Geist aufgab.

05.10.2007 - 08:54 Uhr

Der Benutzer muss seine Zeitzone konfigurieren können, wodurch du ein Offset erhälst, z.B. UTC +2:00.
Nun kannst du in deinen Datentabellen / Dateien / sonstigen Persistenzobjekten alle Zeiten als UTC speichern, und bei der Anzeige für den Benutzer rechnest du sein Zeitzonen-Offset drauf, mit DateTime.AddHours.

In .NET 3.5 wird es im Übrigen zwei neue Klassen geben, die dem Zeitzonenproblem besser gerecht werden als DateTime.

05.10.2007 - 07:50 Uhr

Die laufen innerhalb der lokalen Java-VM, das ist die Laufzeitumgebung von Java-Anwendungen, ähnlich zur CLR bei .NET

29.09.2007 - 12:40 Uhr

Ich persönlich wäre für eine Neuaufteilung mit der folgenden Struktur:

  • Windows Forms und verwandte Themen
  • Windows Presentation Foundation, Silverlight
  • ASP.NET
  • Netzwerktechnologien

Dann wäre der große Mischmasch in den beiden betroffenen Foren etwas gedämpft. Innerhalb der Forensuche könnte man zu der Forenauswahlliste noch zwei Überbegriffe hinzufügen, um in den jeweils beiden artverwandten Foren zu suchen. "GUI-Technologien" durchsucht WinForms und WPF/Silverlight, "Web- und Netzwerk" durchsucht ASP.NET/Netzwerktechnologien.

28.09.2007 - 14:32 Uhr

Ich fände es nicht gut wenn Silverlight ein eigenes Forum bekommt - ASP.NET hat schließlich auch keins. Ich weiß, das wurde schon einmal durchgekaut, aber ich finde, dass der Technikmischmasch im Netzwerkforum seit sich die WCF etabliert hat, noch größer geworden ist.
Warum sollte Silverlight nun ein eigenes Forum erhalten? Im Prinzip ist es lediglich eine GUI-Technologie, und für GUI-Technologien gibt es ein Forum.

27.09.2007 - 15:46 Uhr

Dankeschön 🙂

27.09.2007 - 14:40 Uhr

Hallo herbivore,

wenn ich ganz normal auf "Anmelden" klicke, funktioniert es mit dem Tabwechsel. Wenn ich jedoch nicht angemeldet bin, und dann in einem Thread auf "Antwort erstellen" klicke, scheine ich auf eine andere Anmeldeseite zu kommen, und dort tritt der besagte Fehler auf. Ich surfe mit IE7.

Ich hätte diese Information schon gestern hinzugefügt, aber mir ist es eben selbst erst aufgefallen, dass es über den normalen "Anmelde"-Knopf funktioniert.

26.09.2007 - 22:10 Uhr

Hi,

ich weiß nicht ob das schon angesprochen wurde, aber mir ist eine Kleinigkeit beim Einloggen aufgefallen, die etwas störend ist. Wenn ich Benutzername und Passwort angebe, und dann mit Tab auf den Submit-Button springen will, befindet sich der Fokus plötzlich oben links auf dem Logo von MyCSharp.de. Zu Beginn habe ich das nicht gleich gemerkt, und nach dem Angeben der Benutzerdaten einfach Tab+Enter gedrückt. Anschließend landete ich unangemeldet auf der Startseite der Community.
Wäre schön, wenn man das ändern könnte.

Und wenn ich schonmal hier in diesen Thread schreibe: Ich wollte mal ein Dankeschön an das Team loswerden für diese gelungene Community. Habe noch nie ein derart gut funktionierendes Entwicklerboard gesehen wie dieses hier.

26.09.2007 - 22:03 Uhr

Hi,

gibt es eigentlich .NET Entwicklertreffen in der Nähe von Karlsruhe? Ich lese hier immer nur von Freiburg.NET und habe mich gefragt, ob es sowas auch in meiner Nähe gibt.

Danke

25.09.2007 - 13:22 Uhr

Wenn die Zuverlässigkeit stimmt, ist der Preis sicherlich gerechtfertigt. Danke für die Info!

Inwiefern kümmert sich centron um Backups?

25.09.2007 - 13:20 Uhr

Hi ikaros,

nichts für ungut, aber wenn du den Code hast und er nicht grad zweistellige Kilobytegrenzen sprengt, warum postest du ihn nicht einfach hier rein, ohne dich extra nochmals darum bitten zu lassen? Irgendwer wird irgendwann mit genau der selben Frage in dieses Board kommen, und dankbar darum sein, wenn es ein Codesample dazu gibt.

24.09.2007 - 19:24 Uhr

Danke für eure Antworten

@Golo: Kannst du einen effizienten und einigermaßen günstigen Provider v. Managed Servern empfehlen?

23.09.2007 - 14:43 Uhr

Hi,

als .NET Entwickler reizt mich schon lange ein eigener Root/VServer für das Hosting von ASP.NET Webanwendungen oder eigenen Serverdiensten - denn sobald man eigene Anwendungen auf einen Webserver installieren will, reichen die Shared-Hosting Pakete einfach nicht mehr aus.

Ich hätte ja schon längst einen bestellt, aber das Wörtchen "Sicherheit" lässt mich doch zurückschrecken. Wie allgemein bekannt ist werden dedizierte Server und auch VServer einer großen Anzahl an "Hack"-Angriffen täglich ausgesetzt, weil die Bandbreite und die Serverressourcen ja wahre "Leckerlis" für böse Buben sind. Vor dem Gesetz trägt man derweil die volle Verantwortung für den Server. Wenn also jmd. in meinen Server einbrechen würde und illegale Videos damit verteilt, würde ich strafrechtl. Konsequenzen tragen, und die Trafficrechnung bei meinem Provider bezahlen.

Deshalb wollte ich nun fragen: Wer kennt sich mit der Absicherung von Rootservern unter Windows 2003 Server aus? Was muss man denn so beachten? Und wie löst man Backups am elegantesten?

Und noch eine Frage: Warum hört man so oft, Windows 2003 Server sei ein schlechtes, unstabiles und unsicheres Server-OS? Vorallem die Linux-Frickelfraktion behauptet das ja immer wieder.

21.09.2007 - 13:00 Uhr

Danke für die Vorschläge, ich werde mir die einzelnen Links durchlesen.

21.09.2007 - 12:57 Uhr

Hallo herbivore,

die Idee gefällt mir, zumal es endlich mal ein Spieleprojekt ist, das von der Grundvorstellung her bescheiden bleibt, und deshalb eine wesentlich bessere Chance hat vollendet zu werden, als die ganzen MMORPG-Quakeverschnitt-Visionen. Ich würde gerne bei den 3D-Renderbilder helfen, nur leider beschäftige ich mich mit Blender erst seit kurzem, und als ich deine 3D-Bilder gesehen habe, viel mir auf, dass meine Ergebnisse wohl keinen nennenswerten Mehrwert bringen würden 😉

Vllt kann ich ja später noch einsteigen, wenn ich die Zeit und Geduld finde, mich weiterhin in Blender3D einzuarbeiten.
Auf jeden Fall: Gute Idee, hoffentlich wird etwas draus. 👍

20.09.2007 - 21:18 Uhr

Hallo,

wenn ich MySQL mit einem Produkt ausliefere und den .NET Connector verwende, zahle ich ja, sofern mein Projekt nicht OpenSource ist, Lizenzgebühren. Wie sieht es aus, wenn ich MySQL lediglich für ein ASP.NET Webprojekt auf dem eigenen Server verwende? Werden dann ebenfalls Lizenzgebühren fällig?
Ich würde gerne den SQL Server von Microsoft auf dem Server verwenden, aber die 6.000 Euro für die Standardedition sind uns dann doch zu teuer (und nein, die Express reicht nicht).

Wer kennt sich aus?
Über Antworten freue ich mich.

20.08.2007 - 07:59 Uhr

Kauf' dir 'ne Playstation, ist einfacher als Programmieren.

09.08.2007 - 21:53 Uhr

Hi,

ich frage mich ob es generell möglich ist, in .NET eine Art "Sniffer" zu programmieren, der lokal auf einem System die Daten welche zwischen zwei lokalen Diensten ausgetauscht werden (per Socket/TCP-IP), abzufangen. Ich unterstreiche bewusst "lokal", um der Vermutung vorzubeugen, ich wolle ein Schadprogramm entwerfen. Ich muss lediglich Daten aufbereiten und auswerten, die zwischen zwei Diensten ausgetauscht werden. Und ich würde gerne um einen Tunnel herumkommen.

Also, besteht die Möglichkeit generell?

Danke

09.08.2007 - 12:54 Uhr

Hi,

ich möchte einen Dienst schreiben, der eingehende Verbindungen mittels TcpListener an Port 80 annimmt, und die Daten an zwei andere Ports weiterleitet. Nun bin ich mir nicht ganz im Klaren über die optimale Architektur, da der Tunnel möglichst mit Multithreading arbeiten soll.

Zuerst dachte ich, ich schreibe einen ThreadPool, und werfe in eine Nachrichtenschlange (Queue) eine reihe von Aufgaben (Verbindung akzeptieren, Serververbindungen aufnehmen, Daten senden), welche vom ThreadPool bearbeitet werden.
Da der TcpListener jedoch immer den selben Port benötigt, und auch die Serververbindungen konstant bleiben würden, wäre es wohl unnötig, Verbindungen immer wieder neu aufzubauen innerhalb eines Tasks.

Ich könnte auch einen festen Thread für alle eingehenden Verbindungen wählen, und dann für jeden eingehenden Client einen neuen Thread erzeugen. Habe aber gelesen, dass dies nicht unbedingt performant ist.

Wenn ich die Clients in einem eigenen Thread akzeptiere, machen die asynchronen Methoden wie BeginAccept / EndAccept überhaupt Sinn?

Ich hoffe, jmd. kann mir helfen, meine Gedanken etwas klarer zu machen 🙂

08.08.2007 - 07:43 Uhr

Ok, danke für eure Einschätzung 🙂

03.08.2007 - 14:00 Uhr

Chat per AJAX. Ohje, klingt nach Vergewaltigung des HTTP Protokolls. Sowas zustandsbehaftetes wie ein Chat gehört nicht in eine so zustandslose Welt - daran ändert auch AJAX nix. 😉

03.08.2007 - 09:10 Uhr

Hallo,

für ein Projekt plane ich den Einsatz von Mono. Ich frage mich aber, wie gefährdet Mono durch Patente wirklich ist. Angenommen, Microsoft würde Abkommen mit Novell von Heut auf Morgen aufheben und Mono rechtlich angreifen. Würde Mono dann urplötzlich verschwinden? Kann man überhaupt eine Aussage über die zukünftige Verfügbarkeit machen? Das ist ein nicht ganz unwichtiger Punkt, wenn man bei der Projektplanung damit rechnet, dass ein .NET Programm auch unter Linux laufen wird, und vielleicht auch Kunden davon ausgehen.

Eine in euren Augen vllt. sehr dumme Frage, aber ich kenne mich auf dem juristischen Gebiet nicht aus: Wenn man eine Anwendung publik macht, und dabei fest zu deren Lauffähigkeit unter Mono steht (z.B. in der Featuresliste 'Lauffähig auch unter Windows dank Mono'), macht man sich damit strafbar, falls Microsoft heute seine Patente ausspielt?

Danke

01.08.2007 - 14:37 Uhr

Du kannst dir im Prinzip ja ein ganz einfaches Datenformat überlegen. Pro Zeile liegt ein Datensatz, die drei Werte sind durch einen Splitter getrennt '##' oder '_' oder ein anderes Sonderzeichen, das nicht vorkommen wird.

Mit StreamReader/StreamWriter kannst du zeilenweise lesen und schreiben, und mit der String.Split-Methode bekommst du die einzelnen Werte automatisch aufgespaltet.

01.08.2007 - 08:26 Uhr

Hallo,

ich hoffe, das ist das richtige Unterforum, bei der Auflistung stand XML, von daher denke ich, dass ein XML Schema auch dazu zählt.

Ich lerne mich gerade in XSD Schemadefinitionen für XML ein und mir haben sich zwei Fragen gestellt und hoffe, jemand kann mir weiterhelfen. 🙂

  1. Bei der Definition von Kindelementen lese ich immer von folgenden Elementen:

<sequence>: Bestimmt, dass die Kindelemente in der angegebenen Reihenfolge auftreten müssen
<choice>: Man hat die Auswahl für ein Kindelement
<all>: Beliebige Reihenfolge für Kindelemente, allerdings darf jedes nur 0 oder 1 mal vorkommen.

Wie definiere ich aber Kindelemente, die in beliebiger Reihenfole und beliebig oft vorkommen? In XML muss das ja irgendwie möglich sein, denn in XHTML, welches von XML abgeleitet ist, kann ich auch beliebige Tags in beliebiger Anzahl zusammenwürfeln.

  1. Auch hier geht es um Kindelemente. Bestimmte Elemente sind definiert, und sie erhalten jeweils andere Kindelemente. Ich skizziere das mal:

<A>
   <B>
      <D></D>
   </B>

   <C>
      <E></E>
   </C>
</A>

In A sollen also B und C möglich sein. In B wiederrum D und in C lediglich E. Das ganze ist mittels mehrerer Complex-Types definiert. Allerdings ist Tag D, welcher nur in B verfügbar sein sollte, auch in C verfügbar! (Zumindest wird von XMLDocument.Validate() kein Fehler geworfen)
Ist es irgendwie möglich, Tags in bestimmten Fällen zu verbieten?

24.07.2007 - 16:15 Uhr

Wäre es nicht einfach möglich, das Worddokument serverseitig zu erstellen und es dann als Download anzubieten? Das geht doch mit den Interop-Assemblies?

24.07.2007 - 16:12 Uhr

Oky, Problem gelöst. Mit Encoding.Default hat es geklappt.

24.07.2007 - 12:15 Uhr

Hallo Rainbird,

danke für deine Hilfe, aber ich habe das Problem mittlerweile gelöst, und muss peinlicherweise zugeben, dass es an anderer Stille zu suchen war. Mein Kommunikationscode mit TcpClient hat funktioniert, allerdings habe ich beim Durchstöbern der Apache-Logs herausgefunden, dass mein Http-Header nicht 100% gültig war, und deshalb keine Response zurück kam. Daran hätte ich echt früher denken können.

Nur das Socketencoding haut irgendwie nicht hin. Nachdem die Daten im Socket übertragen wurden, gehen sämtliche Sonderzeichen wie die Umlaute oder das Hochkommata flöten. Kann ich das Encoding bei der Spcketübertragung bestimmen?

23.07.2007 - 14:36 Uhr

Wenn die Sprache einbettbar ist, wird das Projekt sicherlich ganz interessant. Auf dem Sektor gibt es ja für .NET scheinbar noch nicht allzuviel Produkte.

Wer lernen will, einfache Compiler zu erstellen sollte mal nach den Compilertutorials von Crenshaw googeln. Die kommen zwar nicht an das heran, was Compilerbaubücher vermitteln, aber man erlebt einen schnellen praktischen Erfolg und kann in die Materie sanft eintauchen 😉

23.07.2007 - 14:01 Uhr

Hi Rainbird,

danke für deine Antwort.
Ich weiß dass der Webserver mit dem HTTP Protokoll arbeitet. Ich möchte aber ein komplettes HTTP Request, inklusive HTTP Header und Content an einen Webserver schicken, so wie es ein Browser tut. Den Request habe ich als String schon generiert, ich möchte ihn nur noch an den Webserver leiten und die Antwort erhalten.

Ich habe in der MSDN gelesen und ich glaube HttpRequest ist nicht ganz was ich suche.

Ermöglicht es ASP.NET, die von einem Client bei einer Webanforderung gesendeten HTTP-Werte zu lesen.

Btw. ist mein Client eine Konsolenanwendung. Das habe ich vergessen zu erwähnen, sorry.

22.07.2007 - 12:03 Uhr

Hallo,

ich schreibe zur Zeit ein kleines Dienstprogramm, mit dem Daten per Socket an einen Webserver (Apache) übertragen werden, und die Response wieder empfangen werden soll.
Ich muss zugeben, ich habe mit .NET Sockets noch nicht allzuviel gemacht, für mich ist die Sache also noch etwas Neuland. Bei folgendem Code hängt sich mein Programm immer auf, ohne eine Exception zu werfen. Beim Einzelschrittdebugging hört die Ausführung bei der letzten Zeile einfach auf, und nichts mehr passiert. Weiß jemand, was ich falsch mache?


TcpClient webserverClient = new TcpClient("localhost", 8080);
NetworkStream webserverNS = webserverClient.GetStream();
StreamWriter webserverWriter = new StreamWriter(webserverNS);

for (int i = 0; i < request.Count; i++) {
   webserverWriter.WriteLine((string)request[i]);
}
webserverWriter.Flush();

StreamReader webserverReader = new StreamReader(webserverNS);
Console.WriteLine(webserverReader.ReadLine());

Über eine Antwort würde ich mich freuen.

22.07.2007 - 11:44 Uhr

Ist deine Scriptsprache einbettbar in eigene Projekte? Das wäre meiner Meinung nach der einzige Sinn, für eine neue Scriptsprache. Ansonsten wirkt die Sprache eher wie eine Lösung auf der Suche nach einem Problem 😉

Dennoch ist es natürlich für den Programmierer eine schöne Übung, eine eigene Scriptsprache zu implementieren. Ich habe mal einen Maschinensprachencompiler geschrieben für eine eigene Programmiersprache, und weiß deshalb wie viel Arbeit sowas ist. Also: Respekt! 👍

21.07.2007 - 18:16 Uhr

An den iframes wird es nicht liegen, da es sich hierbei um vielfach bewährte Browsersteuerelemente handelt, und es sicherlich öfter auffallen würde, wenn deren Implementierung extrem langsam wäre. Ich habe auch schon per JavaScript einige iframes auf einer Seite generiert, und mir ist ein Geschwindigkeitsproblem nie aufgefallen.
Wie viele iframes sind es eigentlich?

Das wird wohl an Amazon liegen. Beobachtest du Schwankungen bei der Ladezeit? Vielleicht ist das Problem nur temporär? Normalerweise sind die Amazonserver ja recht flott.

21.07.2007 - 17:43 Uhr

Hi,

kann mir jemand die asynchrone Verwendung des HttpListeners etwas näher erläutern? Die wenigen Quellen die man im Internet dazu findet zeigen den Code wohl eher nach dem Motto "Kopieren, nicht darüber nachdenken wie's funktioniert und Maul halten!".
Vielleicht habe ich das Konzept nicht verstanden, aber mir kommt der Beispielcode der auf einigen Seiten präsentiert wird sehr spanisch vor:


listener = new HttpListener();
listener.Prefixes.Add("http://*:80/");
listener.Start();

listener.BeginGetContext(new AsyncCallback(ContextReceivedCallback), null);

Dann die Methode:


public void ContextReceivedCallback(IAsyncResult result) {
   HttpListenerContext context;
            
   context = listener.EndGetContext(result);
   listener.BeginGetContext(new AsyncCallback(ContextReceivedCallback), null);

   (...)
}

Also bei der Initialisierung bestimme ich, dass ContextReceivedCallback aufgerufen wird, sobald sich ein Client verbunden hat. Warum um alles in der Welt muss ich dieses Verhalten innerhalb der asynchronen Methode mittels BeginGetContext nochmals initialisieren? Das klingt für mich, als könne sich jeder Client asynchron anmelden, aber nur einzeln nacheinander. Was ja letztendlich sinnlos ist.

Achja: Wie beende ich den HttpListener denn eigentlich korrekt? Manchmal, aber nicht immer, bekomme ich nach dem Close-Aufruf eine Exception. Da scheinen noch Ressourcen benötigt zu werden.

Falls jemand einen guten Rat hat, würde ich mich sehr freuen.

Merci

12.07.2007 - 14:24 Uhr

@MrSparkle: Das ist mir schon klar. Ich wollte damit sagen, dass auch andere DX-Komponenten nicht mehr weiterentwickelt werden und dennoch in der Runtime weiterhin vorhanden sind, da du sagtest, auf DirectX 10 würde MDX ja auch noch laufen. Abgeschafft wurde bisher glaube ich nichts.

12.07.2007 - 13:59 Uhr

Du brauchst doch Visual Studio nicht um den Code anzusehen. Nimm Notepad oder einen beliebigen Texteditor (Notepad++ hat Syntaxhighlight für C#) und öffne die *.cs Dateien an sich. Interessant für dich sind DalSampleData/ProductManager.cs, DalSampleData/DBConnection.cs, DalSample/Form1.cs

(Edit) Mit Visual Studio kannst du die Dateien natürlich auch öffnen. Du darfst nur nicht das komplette Projekt öffnen, sondern musst einzeln die Dateien ansteuern.