Archive for the ‘.NET’ Category
DateTime und ParseExact
Es kommt ja manchmal vor, dass man ein bestimmt formatiertes Datum in ein DateTime-Objekt verwandeln will.
Im aktuellen Fall war es das Format
2007-03-27T18:33:21.123
Dafür gibt es DateTime.ParseExact und so hat das bei mir funktioniert:
DateTime meinDatum = DateTime.ParseExact(meinString, "yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture);
In einigen Quellen war zu lesen, man müsse Doppelpunkte und andere Zeichen Quoten, das war jedoch nicht nötig. Funktioniert hat es aber erst, nachdem ich CultureInfo.InvariantCulture als zweiten Parameter angegeben habe.
Transparentes 1×1-Pixel-GIF ausgeben
Response.Clear();
Response.ContentType = “image/png�;
Response.BinaryWrite(new byte[] {0×47, 0×49, 0×46, 0×38, 0×39, 0×61, 0×01, 0×00, 0×01, 0×00, 0×80, 0×00, 0×00, 0xFF, 0xFF, 0xFF, 0×00, 0×00, 0×00, 0×21, 0xF9, 0×04, 0×01, 0×00, 0×00, 0×00, 0×00, 0x2C, 0×00, 0×00, 0×00, 0×00, 0×01, 0×00, 0×01, 0×00, 0×00, 0×02, 0×02, 0×44, 0×01, 0×00, 0x3B});
Response.End();
Transparentes 1×1-Pixel-PNG ausgeben
Response.Clear();
Response.ContentType = “image/png”;
Response.BinaryWrite(new byte[] { 0×89, 0×50, 0x4E, 0×47, 0x0D, 0x0A, 0x1A, 0x0A, 0×00, 0×00, 0×00, 0x0D, 0×49, 0×48, 0×44, 0×52, 0×00, 0×00, 0×00, 0×01, 0×00, 0×00, 0×00, 0×01, 0×08, 0×06, 0×00, 0×00, 0×00, 0x1F, 0×15, 0xC4, 0×89, 0×00, 0×00, 0×00, 0×04, 0×67, 0×41, 0x4d, 0×41, 0×00, 0×00, 0xb1, 0x8e, 0x7c, 0xfb, 0×51, 0×93, 0×00, 0×00, 0×00, 0×20, 0×63, 0×48, 0×52, 0x4d, 0×00, 0×00, 0x7a, 0×25, 0×00, 0×00, 0×80, 0×83, 0×00, 0×00, 0xf9, 0xff, 0×00, 0×00, 0×80, 0xe8, 0×00, 0×00, 0×75, 0×30, 0×00, 0×00, 0xea, 0×60, 0×00, 0×00, 0x3a, 0×97, 0×00, 0×00, 0×17, 0x6f, 0×97, 0xa9, 0×99, 0xd4, 0×00, 0×00, 0×00, 0×10, 0×49, 0×44, 0×41, 0×54, 0×78, 0x9c, 0×62, 0xf8, 0xff, 0xff, 0x3f, 0×03, 0×40, 0×80, 0×01, 0×00, 0×08, 0xfc, 0×02, 0xfe, 0×33, 0xa3, 0xe2, 0×99, 0×00, 0×00, 0×00, 0×00, 0×49, 0×45, 0x4e, 0×44, 0xae, 0×42, 0×60, 0×82});
Response.End();
.NET 2.0 – Decompiler
Auf der Suche nach einem kostenlosen Decompiler für .NET 2.0 habe ich das Tool “Reflector” entdeckt. Es hat genau getan, was ich wollte und musste noch nicht einmal installiert werden. Ich konnte einfach die .exe-Datei auf den Desktop legen und doppelklicken.
Hier ist der Link:
Noch etwas zum Page Lifecycle in ASP.NET
Mir fiel vor kurzem auf, dass der Load-Event einer ASP.NET-Seite im Postback-Fall vor dem Abarbeiten der Events der Controls (z.B. Button.Click) ausgeführt wird. Demzufolge eignet sich Page.Load nicht immer dazu, die Seite zu initialisieren, da unter Umständen bestimmte Werte bestimmter Membervariablen noch garnicht geändert sind. Ich habe daraufhin einen Blick auf den Lifecycle der Page geworfen und entdeckt, dass der PreRender-Event der Seite viel besser geeignet ist, die Seite zu initialisieren, da zu diesem Zeitpunkt alle anderen Events abgearbeitet sind. Ich habe daraufhin den Event mit einer eigenen Menthode (analog zu Page_Load) registriert. Wenn man nun z.B. einen Button klickt, reicht es, im Eventhandler der Buttons bestimmte Werte zu verändern. Der PreRender-Event der Seite überimmt dann die Ausgabe im UI.