Laden...
Avatar #avatar-3191.gif
MarsStein myCSharp.de - Experte
Sr. Softwareentwickler (ophthalmologische Lasersysteme) Trier -> München Dabei seit 27.06.2006 3.170 Beiträge
Benutzerbeschreibung

Forenbeiträge von MarsStein Ingesamt 3.170 Beiträge

22.02.2012 - 10:30 Uhr

Hallo kaosz,

Mit der clientseitigen ID kannst Du serverseitig nicht suchen.
Du musst - ähnlich wie im Link von Diräkt - das Control im entsprechenden Item der DataList suchen, und dann über FindControl("SparteLink").
Das richtige Event dafür wäre im Falle einer DataList ItemDataBound. Dort musst Du die Items richtig identifizieren, dsa Control wie erwähnt suchen, und kannst dann die CssClass entsprechend setzen.

Gruß, MarsStein

21.02.2012 - 23:57 Uhr

Hallo,

Was für ein Typ ist $CourbeOr Naja, sieht stark nach einem Array aus (das hier ausschliesslich Integer-Werte enthält - was ja bei PHP nicht selbstverständlich ist). Bei der Art wie es befüllt wird, würde ich in C# wohl eine List<int> draus machen - aber Achtung, es fehlt ein Wert mit dem Index 0, dann musst Du entwder einen Dummywert an den Anfang der Liste hängen, oder beim Zugriff den Index um 1 verschieben. Ggf. fährst Du mit einem Dictionary<int, int> noch besser, dann kannst Du's genauso wie im PHP-Code machen.
und wird er zwischendurch geändert?

Nein, sieht nicht so aus. Wie kommst Du darauf?

Gruß, MarsStein

21.02.2012 - 21:16 Uhr

Hallo,

ja, in der Tat...
Habe eben mal mit Firebug in die Quellen geschaut - diejenigen davon, die mit HTML-FileUploads arbeiten, gehen auch dern Weg mit dem Opacity-Trick, der auch im Link aus meinem Edit benutzt wird.
Alle anderen benutzen Browser-Plugins wie Flash/Java/Silverlight.

Wie gesagt, ganz trivial ist es nicht - wobei sich die jQuery-Sachen natürlich schon leicht einbinden lassen.

Gruß, MarsStein

21.02.2012 - 20:34 Uhr

Hallo,

Was würdet ihr da denken und(oder empfehlen? Dass es stark von der Art des Projektes und der Zielgruppe abhängt. Wenn Du willst, dass möglichst viele User das Projekt nutzen können, wäre eine HTML-basierte Lösung sicher die bessere Wahl, da Silverlight nicht jedem zur Verfügung steht (z.B. auf anderen Plattformen als Windows, oder Leute die kein Silverlight installiert haben / installieren wollen). Wenn Dich das nicht kratzt, kannst Du IMO genausogut mit Silverlight loslegen. Hängt aber wie gesagt m.E. auch stark davon ab, was Du in Deinem Projekt realisieren willst.

Gruß, MarsStein

21.02.2012 - 20:21 Uhr

Hallo zusammen,

@Abt
für so simpel halte ich das gar nicht... schließlich muss das Control auf das Dateisystem des Benutzers zugreifen, damit die Datei hochgeladen werden kann, und das geht aus dem Browser IMO nur durch ein <input type="file">. Dieser ist jedoch sehr restriktiv. Wie man an den Button-Text kommen soll, wüsste ich jetzt nicht 🤔
Und das Upload-Control verstecken und nachbauen, um dann den Text per Javascript zu setzen, geht meines Wissens auch nicht, da das (HTML-seitige) Control kein setzen des Wertes aus Scripten zulässt.

Also ohne Java, Flash oder ähnliches halte ich das für nicht machbar, den <input type="file"> stellt jeder Browser halt "as is" zur Verfügung.
Ich lasse mich aber gerne eines besseren belehren.

Gruß, MarsStein

Edit: es gibt ja immer findige Leute, die's dann doch schaffen (funktioniert in den gängigen Browsern, aber nicht in allen, weil nicht das input-Feld selbst geändert, sondern getrickt wird - und ganz trivial ist es auch nicht): Styling an input type="file"

21.02.2012 - 17:31 Uhr

Hallo thetruedon,

hast Du den Tipp von AlfAtor mit dem Virenscanner mal ausprobiert? Die kriechen ja bei Zips je nach Einstellung rein und durchsuchen die Inhaltsdateien, das könnte schon ein echter Grund sein.

Gruß, MarsStein

21.02.2012 - 13:44 Uhr

Hallo,

ich weiss es leider auch nicht - aber gefühlsmäßig würde ich auf den "Plug and Play" Service tippen. Der käme IMO am ehesten dafür in Frage.

Gruß, MarsStein

21.02.2012 - 10:33 Uhr

Hallo,

mit dem <%=txtSucheKontakte.Text%> wird der Text eingesetzt, der zum Zeitpunkt der Erstellung der Seite auf dem Server in der Textbox steht. Da ist diese aber vermutlich noch leer.
Du musst das schon clientseitig per Javascript machen, wenn der Wert nicht zwischendrin an den Server gepostet wird.
Beispiel:

<a onclick="window.location.href = 'About.aspx?Suche=' + document.getElementById('txtSucheKontakte').value + '&amp;In=Kontakte'">klick</a>

Gruß, MarsStein

Das sind aber Grundlagen der Webprogrammierung, bitte beachte [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1

21.02.2012 - 10:12 Uhr

Hallo,

am einfachsten ist es wahrscheinlich, pro Bestellung eine eigene GridView zu erstellen.

Gruß, MarsStein

21.02.2012 - 10:09 Uhr

Hallo,

das Encoding im Body wird nur benutzt, wenn Du die Message auch tatsächlich von .NET aus abschickst. Die Property an sich ist aber einfach nur Text und damit 16bit-Unicode.

Probier mal mit

Message.Body += "Einheit: " + Server.HtmlEncode(einheit) + "\n"; // <-- \n weil später noch URL codiert wird

und dann beim StringBuilder:

sb.Append("document.location.href =\"mailto:test1@test.de?cc=test2@test.de;test3@test.de&subject=Registrierung&body=" + HttpUtility.UrlEncode(Message.Body) + "\";");

Gruß, MarsStein

21.02.2012 - 00:08 Uhr

Hallo,

aber hoffe, dass die Frage nicht zu trivial ist

Ist sie eigentlich schon. RegistryHive ist einfach nur ein enum und lässt sich als solcher aus einem String mittels Enum.Parse() gewinnen:

RegistryHive myHive = (RegistryHive)Enum.Parse(typeof(RegistryHive), myString);

Wahrscheinlich hast Du viel zu speziell nach Registry-Zeugs gesucht. Eine Suche bei Google mit "enum aus string c#" liefert übrigens bereits in den ersten Treffern brauchbare Ergebnisse.

Gruß, MarsStein

19.02.2012 - 18:33 Uhr

Hallo,

zunächst mal: ich weiss es auch nicht genau.

Aber ich kann mir vorstellen, dass im Umfeld mobiler Geräte da schon ein erheblicher Unterschied besteht, da bei diesen nicht davon auszugehen ist, dass eine ständige und/oder stabile Verbindung besteht. Solche Geräte gehen ja oft nur bei Bedarf ins Netz, und der Aufbau der Verbindung kann schon mal etwas dauern. Auch und gerade weil solche Mobilverbindungen nicht immer die schnellsten/stabilsten sind, wird hier vermutlich anders verfahren als bei den PC-Betriebssystemen. Es wäre ja für viele Anwendungsfälle fatal, wenn direkt abgebrochen würde, obwohl der Server vielleicht einige Sekunden später erst / erst wieder zur Verfügung steht.

Gruß, MarsStein

19.02.2012 - 18:26 Uhr

Hallo,

Buffert EndRead nicht irgendwo selbst?

nein, das musst Du Dich selbst drum kümmern. Steht auch in NetworkStream.BeginRead-Methode unter Hinweise.

Gruß, MarsStein

19.02.2012 - 18:03 Uhr

Hallo,

Wenn man die Debugfunktion nutzt dann kommt man da auch von selbst drauf, ...

...weshalb man die auch immer nutzen sollte, bevor man eine Frage ins Forum stellt 😉
if (IsPostBack != false) ist übrigens eine ganz grauselige Schreibweise. Ein einfaches if(IsPostBack) macht genau das selbe und ist einfacher lesbar. Siehe auch [Tipp] Anfängerfehler == true / == false .

Bitte beachte auch [Hinweis] Wie poste ich richtig? 1.1 un d1.1.1

Gruß, MarsStein

17.02.2012 - 11:16 Uhr

Hallo,

sowas machst Du am besten rekursiv. Hier findest Du ein entsprechendes Snippet:
Für alle die, die mit der FindControl Methode nicht zufrieden sind 😃

Wenn Dir das zu umfangreich ist, hier ist noch ein einfacheres Beispiel:
Zugriff von UserControl auf Control der übergeordneten Seite

Gruß, MarsStein

16.02.2012 - 22:17 Uhr

Hallo,

das ist leicht zu erklären, wenn Du folgendes bedenkst:

Die xyzTransform-Methoden verschieben/drehen/skalieren das gesamte Koordinatensystem

Mit den Transformationen verschiebst Du in Deinem Ansatz den Koordinatenursprung in das erste Rechteck und drehst es so, dass die X-Achse nach rechts unten und die Y-Achse nach links unten zeigt.
Dann zeichnest Du die Rechtecke, benutzt dabei aber nochmal Deine Koordinaten aus Location, Der Koordinatenursprung (also der Punkt (0;0) liegt aber schon im ersten Rechteck, also verschiebst Du durch erneute Benutzung von Location.X alles nach rechts unten (entlang der neuen X-Achse) und durch Location.Y nach links unten (entlang der neuen Y-Achse) und zwar vom neuen Ursprungspunkt im ersten Rechteck aus. Das führt dann genau zu dem Ergebnis, das Dein Bild darstellt.

HTH

Gruß, MarsStein

16.02.2012 - 18:49 Uhr

Hallo,

das dient zur Sicherheit. Wenn in dem Beispiel des Artikels der using-Block betreten wird, ist die stream-Variable am Ende des finally-Blocks ja bereits null und es passiert nix mehr.
Wird der using-Block nicht betreten (z.B. durch eine Exception beim Erstellen des Stream, denkbar wäre aber auch, dass innerhalb des try-Blocks noch if-Abfragen stehen), dann wird im finally noch aufgeräumt.

Gruß, MarsStein

16.02.2012 - 17:59 Uhr

Hallo,

dann geh' doch so vor wie ich oben in meinem Zweiten Absatz schrieb:
Verschiebe zunächst mit TranlateTransform(Location.X, Location.Y), drehe mit RotateTransform und zeichne dann Deine Rechtecke nach (0;0), (0;feldbreite/3) und (0;2*feldbreite/3).
Die xyzTransform-Methoden verschieben/drehen/skalieren das gesamte Koordinatensystem, so dass Du damit hinkommen müsstest. Die linken oberen Ecke der beiden Rechtecke aus Deinem oberen Bild liegt dann genau aufeinander.
(wenn Du um die Mitte des grauen Kästchens drehen willst, musst Du mit TranslateTransform genu an diesen Punkt schieben und dann die Koordinaten, an die die Rechtecke gezeichnet werden, entsprechend anpassen -> das ist dann eine kleine Denksportaufgabe, die Du selbst lösen darfst).

Gruß, MarsStein

16.02.2012 - 17:23 Uhr

Hallo,

es gibt einige Dinge, die in WCF zwar keine Probleme bereiten, aber im WCFTestClient nicht funktionieren -> das wäre jetzt das einzige was ich mir vorstellen kann.
Erstelle doch mal ein eigenes kleines Client-Projekt um Deinen Service zu testen, die Struktur sollte WCF auf jeden Fall fressen.

Btw.: da ist diese Stelle //... in Deine Attribute-Klasse, gibt es Da noch mehr (und vielleicht komplexere) DataMember?

Gruß, MarsStein

16.02.2012 - 17:16 Uhr

Hallo,

Zuerst hatte ich als Übergabeparameter 10 und 5, also jeweils die Hälfte vom Rechteck, damit ich die Mitte erhalte und das Rechteck sozusagen nicht um seinen (0,0)-Punkt (=Location des Rechtecks) zu drehen, sondern "um die Mitte".

Ein guter Ansatz. Die Mitte des Rechtecks findest Du allerdings mit Location.X + Width/2 und Location.Y + Height/2
Dann dreht das Rechteck auch um den Mittelpunkt.

Wenn jetzt aber die (gedrehte) Ecke am Punkt (Location.x;Location.Y) liegen soll, empfiehlt es sich, genau diese Koordinaten als Parameter für TranslateTransform zu verwenden, damit Du zunächst den Nullpunkt an die Stelle schiebst, an der Du zeichnen willst. Dann zeichnest Du das Rechteck an die Koordinate (0;0), die ja nach der Translation dann dem gewünschten Zielpunkt entspricht.

Gruß, MarsStein

16.02.2012 - 16:25 Uhr

Hallo,

was macht Dich so sicher dass es an der Datenstruktur liegt?
Die sieht nämlich soweit korrekt aus...

Gruß, MarsStein

14.02.2012 - 15:56 Uhr

Hallo,

Generell dürfte dieser Session-Fehler immer dann auftreten, wenn der AppPool neu gestartet wird... und das ist normalerweise auch der einzige Fall in dem das passiert.

Mir ist noch aufgefallen, das es häufig auftritt, kurz nachdem ich ein Update eingespielt habe.

Das ist normal, weil genau dann immer der oben genannte Fall eintritt.Das passiert übrigens auch bei Änderungen an der web.config -> schreibt da irgendwas ab und zu mal rein?

Gruß, MarsStein

14.02.2012 - 15:48 Uhr

Hallo,

die Dropdownlist ist ein Steuerelement, dass nur sehr wenige Styles und gar keine Bilder unterstützt (<select> mit <option> in HTML).
Wenn Du das unbedingt haben willst, musst Du auf ein entsprechendes Control zurückgreifen, das dieselbe Funktionalität wie eine Dropdownlist bereitstellt. Es gibt Scripte, die sowas können und die DDL clientseitig ausblenden und was "schöneres" stattdessen einblenden.

Gruß, MarsStein

09.02.2012 - 12:32 Uhr

Hallo,

wird der WebService im IIS gehostet?
Wenn ja, gibt es noch mehr Anwendungen, die den selben Application Pool im IIS benutzen? Dann könnte es daran liegen, dass durch Fehler oder Konfigurationsänderungen in diesen anderen Applikationen der gesamte Pool neu gestartet wird und Deine Sessions dabei verloren gehen. Das kannst Du dann vermeiden, indem Du einen eigenen Application Pool nur für Deinen WebService anlegst.

Gruss, MarsStein

09.02.2012 - 12:15 Uhr

Hallo,

wenn's darum geht, die einzelnen Werte auszulesen, kannst Du das auch einfacher haben:
Die Gruppierung wird ja dadurch realisiert, dass die RadioButtons einer Gruppe den selben Name haben. Und es kann auch in jeder Gruppe nur jeweils ein RadioButton ausgewählt sein.

Dann bekommst Du die Werte fr die Gruppe auch direkt aus dem Request:

string myGroup1Value = Request["nameOfGroup1RadioButtons"];
string myGroup2Value = Request["nameOfGroup2RadioButtons"];
// usw.

Gruss, MarsStein

08.02.2012 - 16:45 Uhr

Hallo,

Prinzipiell ist es so, dass wenn das UserControl eine 32-bit API einbindet, alles, also auch das Projekt/Programm, welches das Control nutzen soll, auf 32bit, also x86 eingestellt werden muss.
Wenn das bei Dir schon der Fall ist, hast Du mal eine genaue Fehlermeldung?

Gruss, MarsStein

08.02.2012 - 16:38 Uhr

Hallo,

C#-Anwendung so unter Windows (meinem Betriebssystem) kompilieren, dass sie auf Linux läuft

ist prinzipiell gegeben, solange nur die Sachen benutzt, die auch in Mono existieren. Also keine Sachen aus dem Microsoft-Namespace z.B.

Für den Mono-eigenen Webserver für ASP.NET - den schon genannten XSP - gibt es auch ein Apache-Modul, so dass Du ASP.NET-Anwendungen auch direkt über den Apache hosten kannst.

Gruss, MarsStein

02.02.2012 - 21:07 Uhr

Hallo,

Damit POST-Daten angeommen werden können, muss dies ein [WebInvoke(Method="POST")]-Attribut gesetzt sein, wobei Du das Method="POST" auch ggf. weglassen kannst, weil es der Default-Wert für WebInvoke ist.

Gruß, MarsStein

02.02.2012 - 19:45 Uhr

Hallo,

klingt irgendwie nach einem Lokalisierungsproblem (Punkt/Komma als Trennzeichen für die Dezimalstellen).

Gruß, MarsStein

27.01.2012 - 00:36 Uhr

Hallo,

das hier erscheint mir seltsam:

            nAnzahl = serialPort1.BytesToRead;

            byte  [] buffer = new byte [nAnzahl-1];

            this.serialPort1.Read(buffer, 0, nAnzahl -1);

Hat es einen bestimmten Grund, immer ein Byte weniger zu lesen als anfällt? 😉

Gruß, MarsStein

27.01.2012 - 00:15 Uhr

Hallo,

Ich bin ja sicher nicht der erste, der vor diesem Problem steht 😉 Korrekt.
Dafür haben wir auch die [FAQ] DB-Password/Kennwort/Connection-String sicher speichern

Auch wenn der Inhalt Dir vermutlich nicht unbedingt schmecken wird - mehr gibt's nicht.

Gruß, MarsStein

26.01.2012 - 23:57 Uhr

Hallo,

bist Du sicher dass Du system(...) benutzen willst? Das ist ja eigentlich für die ausführung von systemeigenen (built-in) Befehlen gedacht -> also die, die in der Konsole bekannt sind, wie z.B. "dir". Diese brauchen keine Pfadangabe. Kann also sein dass sich diese Methode da gar nicht eignet. Wie wär's denn mit exec(...)?

Gruß, MarsStein

26.01.2012 - 23:32 Uhr

Hallo,

möglich ist es mit WebForms auf jeden Fall: aber wie Abt schon sagt, kommst Du ohne Javascript nicht aus, und auch nicht ohne das Bild zuerst mal auf den Server hochzuladen.
Im Prinzip würde man so vorgehen, das Bild zunächst auf den Server hochzuladen (auch ohne dies wirst Du nicht auskommen) und dort zu speichern. Dann schickst du per Javascript noch Parameter an den Server, welche Aktion der Benutzer an welcher Stelle des Bildes vornehmen will. Auf dem Server wird das Bild dann geändert und einfach per Image-Tag in der Seite angezeigt, wobei die src dann auf das (geänderte) Bild auf dem Server zeigen muss.

Gruß, MarsStein

26.01.2012 - 23:24 Uhr

Hallo,

Die Textbox wird nach dem Postwieder existieren Völlig korrekt. Wenn die Textbox im Markup steht oder per Code erzeugt wird (und eines von beiden wird wohl immer der Fall sein), dann ist sie serverseitig sowieso immer vorhanden, Du kannst wenn Du unbedingt willst prüfen ob für die Textbox ein Wert übergeben wurde (auch wenn's ein Leestring ist) indem Du Request["nameDerTextbox"] != null überprüfst. Die serversietig programmierten/erstelten Sachen können aber von Clientseite nicht beeinflusst werden -> wenn jemand die Textbox per Javascript deaktiviert oder entfernt bekommst Du halt einfach keinen Wert dafür übermittelt. Dem Server ist das ziemlich egal.

Gruß, MarsStein

26.01.2012 - 01:48 Uhr

Hallo,

dazu muss ja auch entweder die Klasse oder die Methode generisch sein.
Also entweder:

  public static class GenericClass<T>
  {
    public static T getSelf(this T item)
    {
       return item;
    }
  }

oder

  public static class GenericClass
  {
    public static T getSelf<T>(this T item)
    {
       return item;
    }
  }

Aber das fällt unter die Grundlagen die wir hier voraussetzen, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1

Gruß, MarsStein

25.01.2012 - 23:39 Uhr

Hallo,

es gibt ja Bildbearbeitungsprogramme die sowas können. Einige gehen dabei so vor, dass das Bild in 4 Teile zerschnitten wird und diese dann mit Verlauf nach Transparent hin über das Originalbild gelegt werden. Am besten erkennt man den Effekt, wenn man ein Bild nimmt das sich für eine Textur überhaupt nicht eignet.
Der Anhang zeigt ein solches Bild einmal im Original, und enmal mit der Funktion "Nahtlos machen" vom GIMP bearbeitet. Das Prinzip sollte dabei gut erkennbar sein.

Gruß, MarsStein

25.01.2012 - 22:41 Uhr

Hallo,

die Dll kennt zwar das Programm nicht, aber das Programm hoffentlich die Dll 😉
Dann kannst Du auch nur den Weg gehen, dass der Delegat in der Dll öffentlich verfügbar ist, und dann vom Programm aus besetzt wird.

Eine andere (bessere/leichtere) Möglichkeit wäre, in der Dll ein interface zu definieren, das dann von der module-Klasse implemetiert wird. Dann kannst Du das Interface Deiner Dll übergeben.

Fürs allgemeine Verständis lies Dir mal [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co. durch.

Beachte vorsorglich auch [Hinweis] Wie poste ich richtig? (bes. Punkt 1.1)

Gruß, MarsStein

25.01.2012 - 22:29 Uhr

Hallo,

wenn Du Windows.Forms benutzt, hast Du gute Chancen. Wie weit das mit .NET 4.0 ist weiss ich nicht, aber 3.5er Anwendungen laufen teilweise sogar unter Mono, ohne dass man überhaupt noch was machen muss - man kann dann direkt die .NET-Anwenung unter Mono ausführen, ohne neukompilieren. Wenn das nicht geht, musste den Code mal durch den Mono-Compiler jagen, und gucken was der sagt - die Änderrungen sollten sich in Grenzen halten (ausser Du benutzt Plattformspezfische Sachen, wie z.B. die Windows-Registry oder Sachen aus dem "Microsoft"-Namespace.

Gruß, MarsStein

25.01.2012 - 21:59 Uhr

Hallo,

schau mal in .EXE läuft auf Entwicklungsrechner, aber nicht auf anderem PC
Da wird einiges genannt was genau zu solchen Problemen führen kann. Bei Deinem Mailabfrage tippe ich auf fehlende Schreibrechte in Directory.GetCurrentDirectory().

Gruß, MarsStein

25.01.2012 - 21:53 Uhr

Hallo,

Visual Studio reicht auf jeden Fall.

Vielleicht irgendwie mit einem Panel und sich bewegenden PictureBoxen?

Das ist jedenfalls eine schlechte Wahl. Wenn's 3D sein soll, hast Du sowieso eine andere Umgebungen, wo Pictureboxen nicht unbedingt reingehören. Andernfalls zeichnest Du besser alles selbst.
Wenn's auch Windows.Forms sein darf, kann Dir [Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox) sicherlich beim Einstieg helfen.

Gruß, MarsStein

25.01.2012 - 21:47 Uhr

Hallo,

den kenn ich ähnlich - die Startbedingungen sind die gleichen (ausser das die Probanden nicht sterben - es wird ledigich nach 2 Tagen nachgesehen was passiert), zusätzlich befindet sich jedem Raum eine Gabel.

Dann ist es so:
Als nach 2 Tagen die Räume geöffet werden, hat der Ingenieur aus der Gabel einen Dosenöffner gebastelt, und den Inhalt verspeist.
Der Mathematiker sitzt völlig vertieft da und murmelt vor sich hin: "Nochmal von vorn:Nehemn wir also an, die Dose seischon offen...".
Im letzten Raum steht die Dose verschlossen am Boden, der Inhalt ist über sämtliche Wände verteilt, und vom Physiker ist nichts zu sehen. Schließlich öffnet man die Dose, drin sitzt der Physiker und sagt: "Mist, Vorzeichenfehler!"

Gruß, MarsStein

24.01.2012 - 22:34 Uhr

Hallo,

guck mal hier: WCF TransportCredentialOnly not sending username and password

So muss ich es auch machen, um von einer WP7-App auf einen WCF-Service zuzugreifen (ausser dass ich statt ASCII-Encoding UTF8 verwende... der Rest ist gleich). Sieht etwas umständlich aus, funktioniert aber bei mir einwandfrei.

Gruß, MarsStein

24.01.2012 - 21:46 Uhr

Hallo,

mit welcher Version von .NET arbeitest Du denn? Sieht so aus als würde das erst ab :NET 4.0 auf diese Weise unterstützt. Auch wenn es für 3.5 schon dokumentiert ist - da muss wohl auf jeden Fall noch eine zusätzliche Config-Section mit rein.
Siehe Converting domain names from russian to universal, die letzten beiden Beiträge.

Gruß, MarsStein

22.01.2012 - 11:33 Uhr

Hallo,

kann es sein dass die .jar die Logdatei während ihres gesamten Durchlaufs offenhält und erst am Ende alle Änderungen tatsächlich schreibt? Dann bekommst Du es auch erst am Ende mit...

Gruß, MarsStein

21.01.2012 - 23:30 Uhr

Hallo,

das von Abt gesagte kann ich nur bestätigen und bekräftigen, vor allem

Der eingebaute Webserver von dem Du sprichst, ist nicht so wirklich das Wahre.
Er produziert teilweise Phänomene, die nicht nachzuvollziehen sind und unter dem IIS auch oft nicht auftreten. und
Wenn Du vor hast eine einzige Connection für die komplette Anwendung zu nutzen will ich Dir gleich sagen: lass das.

Gruß, MarsSTein

19.01.2012 - 20:50 Uhr

Hallo,

das kannst Du auch mit dem GIMP (freie Software) machen.
Einfach die einzelnen Größen als einzelne Ebenen erstellen, und als .ico speichern. Beim Speichern kommt dann ein Dialog, bei der Du noch für jede Ebene (jedes Einzelbild des Icons) das Pixelformat festlegen kannst.

Gruß, MarsStein

18.01.2012 - 22:38 Uhr

Hallo,

grundsätzlich könnte es schon mit demselben Client/Port funktionieren. Ich kann mir aber auch vorstellen, dass es Probleme geben kann.
Insbesondere wird es vermutlich nicht gehen, ein UDP-Hole gleichzeitig für mehrere Clients offen zu halten. Der Trick ist ja, dass man ein UDP-Paket rausschickt, das zwar nicht angenommen wird, aber ein Dritter, der beide zu verbindende Clients kennt, dies dem Zielrechner mitteilt, so dass dieser dann antworten kann -> und nur von diesem Zielrechner wird dann eine Antwort akzeptiert. Wenn Du also ein Hole öffnest, wird das höchstens für den letzten angesprochenen Client offen sein.
Wiederholst Du für die zweite Verbindung wirklich den gesamten Hole-Punching Vorgang?

Gruß, MarsStein

18.01.2012 - 13:38 Uhr

Hallo,

Wenn ein Thread gestartet wurde, aber an der Stelle für serverPipe.WaitForConnection() am warten ist. Wie beende ich ihn korrekt?

Indem Du die asynchrone BeginWaitForConnection-Methode benutzt, und ein AutoResetEvent zur Steuerung.
Hier mal ein Beispiel:

    class NamedPipeServerTest 
    {
        public AutoResetEvent signal = new AutoResetEvent(false);
        public void ServerThreadMethod() 
        {
            using (NamedPipeServerStream npss = new NamedPipeServerStream("myPipe",PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous))
            {
                var asyncResult = npss.BeginWaitForConnection(ar => signal.Set(), null);

                signal.WaitOne();
                if (asyncResult.IsCompleted)
                {
                    npss.EndWaitForConnection(asyncResult);
                    // hier der Code nach erfolgreicher Verbindung
                }
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            NamedPipeServerTest test = new NamedPipeServerTest();
            Thread serverThread = new Thread(test.ServerThreadMethod);
            Console.WriteLine("Starte Thread");
            serverThread.Start();
            Thread.Sleep(5000);
            Console.WriteLine("Beende Wartevorgang");
            test.signal.Set();
            Console.WriteLine("fertig");
            Console.ReadLine();
        
        }
    }

Gruß, MarsStein

18.01.2012 - 12:52 Uhr

Hallo,

kann das sein?? Ja. Möglicherweise gibt es auch einen Proxy, der nur HTTP-Verbindungen erlaubt.

Gruß, MarsStein