Archive für die Kategorie ‘.NET’

dotnet-snippets.de wird 5 Jahre alt

Veröffentlicht am 23. April 2011 um 09:38 by Fabian Martin Permalink

… und bietet, seit dem ersten Tag, ein stetig wachsendes Arsenal an Code Schnipseln für das .NET Framework.

Das Arsenal wird regelmäßig von den 1600 aktiven Benutzern aufgestockt, so dass es nur noch eine Frage der Zeit ist, wann die 1500 Snippets voll sind. Doch die Seite dient nicht nur als Sammelbecken für Code Schnipsel, sondern auch als Diskussionsplattform. Jeder Beitrag wird von den Usern bewertet, kommentiert und der Autor auf Verbesserungen und Ungereimtheiten aufmerksam gemacht. Dass Snippets dort auch gesehen werden, zeigt die beeindruckende Zahl von 4,9 Millionen Pageviews, welche sich in den 5 Jahren angehäuft haben.

Damit das Jubiläum ordentlich gefeiert werden kann, gibt es natürlich ein Gewinnspiel. Hinterlasst Geburtstagsgrüße auf eurer Seite, in einem Forum oder in eurem Blog und nehmt so an der Verlosung teil. Zu gewinnen gibt es Visual Studio Professional (oder den Team Foundation Server 2010), Office Professional Plus 2010, ein Jahresabo der Zeitschrift dotnetpro sowie die Bücher “Microsoft .NET 4.0 – Update”, “Microsoft .NET 4.0 – Crashkurs” und “ADO.NET Entity Framework”.

Teilnehmen lohnt sich also.

Links:

Das Bild wurde der Seite sxc.hu entnommen und stammt vom Benutzer “Ziepo

VS 2010 SDK: You must have Microsoft Visual Studio 2010 installed …

Veröffentlicht am 14. März 2011 um 22:00 by Fabian Martin Permalink

Immer das Gleiche mit Updates und Service Packs. Irgendwas funktioniert danach nicht mehr. Und natürlich bildet das Service Pack von Visual Studio 2010 da keine Ausnahme.

vs2010_sdk_error Wer selbst einmal eine Erweiterung für Visual Studio schreiben möchte, sollte bei der Installation aller nötigen Komponenten auf die Reihenfolge aufpassen. Denn nach der Installation des Service Packs, verweigert das Visual Studio SDK die Installation mit der Meldung „You must have Microsoft Visual Studio 2010 installed on your computer before proceeding“.

Was macht man nun?

Die Deinstallation des SP1 wäre natürlich eine Möglichkeit. Eine zeitaufwendige zwar, aber es sollte gehen. Wer sich das ersparen will, sollte regedit öffnen und sich bis zu dem folgenden Schlüssel durchklicken.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\10.0

Sucht dort nach dem Eintrag SP und ändert den Wert von 1 auf 0. Die Installation des SDK sollte jetzt ohne Probleme durchlaufen. Anschließend den Wert wieder auf 1 setzen, und schon könnt Ihr mit der Entwicklung eurer ersten Erweiterung beginnen.

Wer sich das Prozedere sparen will, kann natürlich auch das aktuelle SDK installieren. Danke für den Tipp.

PHP/.NET/C#: Fehlerhafte SSL Zertifikate ignorieren

Veröffentlicht am 8. Februar 2011 um 21:44 by Fabian Martin Permalink

Wieder so ein Code Schnipsel den ich häufiger mal brauche und immer wieder vergesse.

Bei der Entwicklung neuer Programme nutze ich oft selbst signierte Zertifikate, die aber sinnigerweise von keinem Programm ohne weiteres angenommen werden. Firefox meldet beispielsweise „Diese Verbindung wird nicht vertraut“, .NET wirft eine Exception mit der Meldung „Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden.“  und das cURL Modul von PHP gibt ein leeres Ergebnis zurück.

ssl_fehler

Was am Ende durchaus gewollt ist, stört bei der Entwicklung. Mit den folgenden Code Schnipseln könnt ihr das „Problem“ beheben.
weiterlesen »

ASP.NET: Mails über SMTP mit SMTP Auth versenden

Veröffentlicht am 26. Januar 2010 um 08:28 by Fabian Martin Permalink

Mit dem folgenden Code Schnipsel lassen sich E-Mails über einen SMTP Server versenden, der eine Anmeldung mittels SMTP Auth erwartet.

MailMessage Message = new MailMessage();

// Benutzername u. Passwort
NetworkCredential UserNamePass = new NetworkCredential("username@example.org", "password");

// SMTP Client erstellen
SmtpClient Client = new SmtpClient()
{
	DeliveryMethod = SmtpDeliveryMethod.Network,
	Host = "mail.example.org",
	UseDefaultCredentials = false,
	Credentials = UserNamePass
};

// Mail versenden
Client.Send(Message);

Das MailMessage Objekt muss natürlich noch mit den wichtigsten Daten (Empfänger, Betreff, Nachricht etc.) gefüllt werden.

Lighttpd 1.4: HTTP 417 Expectation Failed

Veröffentlicht am 13. Januar 2010 um 15:22 by Fabian Martin Permalink

Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung


HTTP/1.1 417 Expectation Failed

Dies liegt daran, das die Programme einen Expect: 100-continue Header senden, und als Antwort 100 (Continue) oder 417 Expectation Failed erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten 417 Expectation Failed.

Der Expect: 100-continue Header soll verhindern, das Daten an den Server gesendet werden, die nicht benötigt werden. Erkennt der Server z.B. das er die Anfrage ablehnen muss, kann er dies dem Client mitteilen, noch bevor die POST Daten übermittelt wurden.

Wer dennoch POST Daten an Lighty senden möchte, kann die folgenden Paramter anpassen:

.NET


System.Net.ServicePointManager.Expect100Continue = false;

cURL unter PHP

curl_setopt($objCurl, CURLOPT_HTTPHEADER, array('Expect: '));

cURL auf der Kommandozeile

curl -v -H "Expect: " -F "field=value" http://example.com/upload.php

Alternativ aktualisiert man auf Lighttpd 1.5. Dieser kennt den Expect: 100-continue Header und beantwortet entsprechende Anfragen korrekt.

Browser senden übrigens keinen Expect: 100-continue Header.