Archive for the ‘.NET’ Category

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:

http://www.aisto.com/roeder/dotnet/

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.