August, 2006

  • <dw:daniel_walzenbach runat="server" />

    Webcast Serie "ASP. NET Server Controls – eine Kampfansage an „Clipboard Inheritance“ in zehn Teilen" startet heute um 16:00!

    • 1 Comments

    Heute startet meine zehnteilige Webcast Serie zum Thema „ASP.NET Server Controls“. Anbei der Abstract zur Serie und die Themen der einzelnen Webcasts:

    Abstract der gesamten Serie

    Die Einführung von Server Controls hat die Art und Weise wie ASP.NET Anwendungen entworfen und entwickelt werden revolutioniert.

    Während das .NET Framework ein modernes, konsistentes und durchgehend objektorientiertes Programmiermodell mit sich bringt, ermöglichen Server Controls Quellcode auf UI-Ebene in einem bislang nicht gekannten Ausmaß zu kapseln und wieder zu verwenden. Neben vielen weiteren Vorteilen können Server Controls beispielsweise ihren eigenen Status verwalten, unterstützen „Event Bubbling“ und ermöglichen einen deklarativen Programmierstil.

    Obwohl Server Controls bereits seit der ersten Version des .NET Frameworks entwickelt werden können, wird diese Möglichkeit bislang von überraschend wenigen Entwicklern wahrgenommen.

    Um die Mächtigkeit von Server Controls zu verdeutlichen, entwickeln wir in dieser Serie eine Reihe eigener Server Controls, welche Sie im Anschluss in Ihren ASP.NET Anwendungen verwenden können. Auf dem Weg erhalten Sie einen Überblick über die verschiedenen Arten von Server Controls, lernen wie sich diese voneinander abgrenzen und erhalten das nötige Handwerkszeug um zukünftig eigene Server Controls entwickeln zu können.

    ASP.NET Server-Controls (Teil 1-10) – Allgemeiner Überblick über ASP.NET Server Controls

    Um ASP.NET Server Controls entwickeln zu können, müssen zuerst die Grundlagen zum Thema vermittelt sowie ein gemeinsames Verständnis geschaffen werden. Dies ist das Ziel des ersten Webcasts dieser zehnteiligen Serie. Sie erhalten neben einer Einführung in die allgemeinen Grundlagen einen Überblick über die verschiedenen Arten von Server Controls, lernen wie sich HTML Controls von Web Controls abgrenzen, erfahren die Vor- und Nachteile von „User“ und „Custom“ Controls und kommen zum ersten Mal mit den Begriffen „Inherited Controls“, „Rendered Controls“ und „Composite Controls“ in Berührung.

    Datum: 30.08.2006, 16:00
    Level: 100

    ASP.NET Server-Controls (Teil 2-10) – User Controls

    Nachdem im ersten Webcast die Grundlagen für die Entwicklung von Server Controls vermittelt wurden, geht es nun endlich mit eigenen Controls los. Als Einstieg ins Thema entwickeln wir einige einfache User Controls und schauen uns an wie deren Properties angesprochen werden können. Weiterhin betrachten wir wie User Controls in den Lebenszyklus der Seite eingebunden sind, und wie wir auf deren Events reagieren können.

    Datum: 20.09.2006, 14:00
    Level: 100

    ASP.NET Server-Controls (Teil 3-10) – Inherited Controls

    Im Focus des heutigen Webcasts steht unser erstes „Custom Control“, genauer gesagt ein „Inherited Control“. An einem Beispiel wird gezeigt wie einfach es ist, mit Hilfe der OOP, ein bestehendes ASP.NET Server Control zu erweitern und auf die eigenen Wünsche anzupassen.

    Datum: 27.09.2006, 16:00
    Level: 100

    ASP.NET Server-Controls, Teil 4 – Rendered Controls, Überblick

    Als angehende Server Control Profis beschäftigen wir uns heute mir der zweiten Art von Server Controls, den so genannten „Rendered Controls“. Diese Controls bestechen durch ihre Schnelligkeit in der Ausführung indem sie dem Entwickler die Möglichkeit bieten, direkt in die „HTML rendering engine“ einzugreifen. Wie das genau geht, wie Sie die ASP.NET Namenskonventionen einhalten und wie Sie erste Einflüsse auf das Aussehen Ihres Controls nehmen können, ist Gegenstand dieses Webcasts.

    ASP.NET Server-Controls, Teil 5 – Rendered Controls, Events

    Ohne die Möglichkeit auf Ereignisse reagieren zu können ist ein Control nur bedingt nützlich. Aus diesem Grund widmen wir uns heute ausschließlich dem Thema Events und schauen uns an wie diese bei „Rendered Controls“ behandelt und implementiert werden.

    ASP.NET Server-Controls, Teil 6 – Rendered Controls, Styling

    Mit Hilfe von Styles kann der Benutzer Ihres Controls Einfluss auf dessen Erscheinungsbild zu nehmen. Je mehr Möglichkeiten zur Konfiguration Sie dem Anwender zur Verfügung stellen, desto wahrscheinlicher ist es, dass dieser Ihr Control nach seinen Wünschen anpassen kann und es in seinen Anwendungen verwendet. Da die Implementierung von Styles in „Rendered Controls“ an manchen Stellen etwas trickreich ist, beschäftigt sich Teil sechs unserer Serie mit diesem Thema.

    ASP.NET Server-Controls, Teil 7 - Composite Controls, Überblick

    Die dritte Gruppe von Custom Controls, die so genannten „Composite Controls“ ist Inhalt des siebten Teils. Im Gegensatz zu „Rendered Controls“ werden „Composite Controls“ aus bestehenden Server Controls „zusammengesetzt“. Was darunter genau zu verstehen ist und wie Sie diese Art von Controls entwickeln lernen Sie in diesem Webcast.

    ASP.NET Server-Controls, Teil 8 - Composite Controls, Events

    Analog zu Teil fünf geht es auch heute wieder um Events. Diesmal allerdings beleuchten wir deren Verwendung bei „Composite Controls“ und die Unterschiede zu Events bei „Rendered Controls“

    ASP.NET Server-Controls, Teil 10 – Anpassen von Server Controls mit Templates

    Mit Hilfe von Templates geben Sie einem Entwickler die Möglichkeit bei Verwendung Ihres Controls bestimmte Bereiche innerhalb des Controls im Nachhinein zu verändern. So kann in einem GridView-Control beispielsweise eine Spalte als TemplateField definiert werden, was einem Entwickler gestattet andere Controls in dieses Feld einzubetten. Wie dieses Verhalten implementiert werden kann zeigt unser neunter Webcast.

    ASP.NET Server-Controls, Teil 10 – Neuerungen in ASP.NET 2.0, Verschiedenes

    Im letzten Teil der Serie beleuchten wir die Neuerungen von ASP.NET 2.0 und finden heraus, was sich für den Control-Entwickler verändert. Außerdem gibt es heute eine Übersicht über verwandte Technologien, die im Zusammenhang mit der Entwicklung von Custom Controls stehen.

     

    Anmelden können Sie sich auf ASP. NET Server Controls – eine Kampfansage an „Clipboard Inheritance“ in zehn Teilen oder über die Links der einzelnen Webcasts.

    Viel Spaß beim Zuhören!

    Daniel

  • <dw:daniel_walzenbach runat="server" />

    Welcome to the public beta for Qna.live.com!

    • 0 Comments

    Seit gestern ist es soweit. Antworten auf die Fragen dieser Welt finden sich auf http://qna.live.com/, Hintergrundinfos sind unter http://liveqna.spaces.live.com verfügbar.

    Daniel

  • <dw:daniel_walzenbach runat="server" />

    In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters

    • 2 Comments

    Synopsis
    In Search of Stupidity is National Lampoon meets Peter Drucker. In Search of Stupidity is a funny and well written business book that takes a look at some of the most influential marketing and business philosophies of the last twenty years and, through the dark glass of hindsight, provides a educational and vastly entertaining examination of why they didn't work. And make no mistake, most of them did not work. Richly illustrated with cartoons and reproductions of many of the actual campaigns used at the time marketing wizard Richard Chapman takes readers on a hilarious ride through the last twenty years. Filled with personal anecdotes spanning Chapman's remarkable career (he was present at many now famous meetings and events) In Search of Stupidity takes a no holds barred look at the uncreative and hopeless marketing ideas surrounding the technology industry. It offers clear, detailed analysis of what happened, why, and what you can do to avoid acting stupidly in the future. This book offers unique insights into the avoidable mistakes made by some of the country's largest and best known high tech companies as well as succinct, to-the-point advice on how companies can avoid acting stupidly. It is aimed at people in the high tech industries, both software and hardware sides of the business. The software side is more heavily represented since software is more glamorous and highly covered than the hardware. Because it is a business book, I believe it also has appeal to the general business book market and the title should attract anyone interested in the various marketing disciplines. copyright Amazon.de



    Schon lange nicht mehr so gut gelacht... Herrlich!

  • <dw:daniel_walzenbach runat="server" />

    Wenn einem so viel Gutes wiederfährt...

    • 2 Comments

    Eigentlich handelte es sich um eine recht triviale Aufgabe...

    Für meine Serie über ASP.NET Server Controls wollte ich einige Beispiele in C# und einige in VB.NET erstellen. Eines der Beispiele sollte zeigen, wie Server Controls eigene Events implementieren können und so fing der ganze Spaß an...

     

    [ Category("Action"),

    Description("Raised when the button is clicked") ]

    public event EventHandler Click;

     

     

    // Method of IPostBackEventHandler that raises postback events.

    void IPostBackEventHandler.RaisePostBackEvent(string eventArgument){       

        OnClick(EventArgs.Empty);

    }

     

     

    // Invokes delegate registered with the Click event.

    protected virtual void OnClick(EventArgs e) {

        if (Click != null)

        {

            Click(this, e);

        }

    }

     

    Wie in dem oben stehenden Codebeispiel zu sehen ist überprüft die Methode OnClick in der ersten Zeile ob es EventHandler gibt welche dem Event („Click“) zugeordnet sind. Falls ja wird im Anschluß das Click-Event ausgeführt. Soweit so gut.

     

    Als ich die Methode OnClick allerdings in VB.NET umsetzen wollte stellte sich mir die Frage, wie eine ähnlich Implementierung in VB.NET aussehen sollte. Nach diversen Versuchen und Diskussionen mit Kollegen zeigte ein Ausflug in die IL (Intermediate Language) dass selbige Überprüfung in VB.NET nicht nötig ist. Wie in dem nachstehenden Beispiel offensichtlich erkennbar ist erfolgt keine (explizite) Überprüfung ob EventHandler auf das Click-Event registriert wurden.

     

    ' Invokes delegate registered with the Click event.

    Protected Overridable Sub OnClick(ByVal e As System.EventArgs)

        RaiseEvent Click(Me, e)

    End Sub

     

    Aufschluß gibt ein Blick in den IL-Code.

     

    Die C# Version

     

    .method family hidebysig newslot virtual

            instance void  OnClick(class [mscorlib]System.EventArgs e) cil managed

    {

      // Code size       31 (0x1f)

      .maxstack  3

      .locals init ([0] bool CS$4$0000)

      IL_0000:  nop

      IL_0001:  ldarg.0

      IL_0002:  ldfld      class [mscorlib]System.EventHandler MSPress.ServerControls.SimpleButton::Click

                           ' ldfld finds the value of a field in the object whose

                           ' reference is currently on the evaluation stack.

      IL_0007:  ldnull     ' Pushes a null reference (type O) onto the evaluation stack

      IL_0008:  ceq        ' Compares two values. If they are equal,

                           ' the integer value 1 (int32) is pushed onto the evaluation stack;

                           ' otherwise 0 (int32) is pushed onto the evaluation stack.

      IL_000a:  stloc.0    ' Pops the current value from the top of the evaluation stack and stores

                           ' it in a the  local variable list at index 0.

      IL_000b:  ldloc.0    ' Loads the local variable at index 0 onto the evaluation stack.

      IL_000c:  brtrue.s   IL_001e ' Hier passiert’s. Wenn keine Methode auf das Delegate registriert

                                   ' wurde wird die Programmausführung an IL_001e fortgesetzt.

      IL_000e:  nop

      IL_000f:  ldarg.0

      IL_0010:  ldfld      class [mscorlib]System.EventHandler MSPress.ServerControls.SimpleButton::Click

      IL_0015:  ldarg.0

      IL_0016:  ldarg.1

      IL_0017:  callvirt   instance void [mscorlib]System.EventHandler::Invoke(object,

                                                                         class [mscorlib]System.EventArgs)

      IL_001c:  nop

      IL_001d:  nop

      IL_001e:  ret

    } // end of method SimpleButton::OnClick

     

     

     

    und die VB.NET Implementierung

     

    .method family newslot strict virtual instance void

            OnClick(class [mscorlib]System.EventArgs e) cil managed

    {

      // Code size       30 (0x1e)

      .maxstack  3

      .locals init ([0] class [mscorlib]System.EventHandler VB$t_ref$S0,

               [1] bool VB$CG$t_bool$S0)

      IL_0000:  nop

      IL_0001:  ldarg.0

      IL_0002:  ldfld  class [mscorlib]System.EventHandler MyControls.ServerControls.SimpleButton::ClickEvent

      IL_0007:  stloc.0

      IL_0008:  ldloc.0

      IL_0009:  ldnull

      IL_000a:  ceq

      IL_000c:  ldc.i4.0     ' Pushes the integer value of 0 onto the evaluation stack as an int32.

      IL_000d:  ceq

      IL_000f:  stloc.1

      IL_0010:  ldloc.1

      IL_0011:  brfalse.s  IL_001c

      IL_0013:  ldloc.0

      IL_0014:  ldarg.0

      IL_0015:  ldarg.1

      IL_0016:  callvirt   instance void [mscorlib]System.EventHandler::Invoke(object,

                                                                         class [mscorlib]System.EventArgs)

      IL_001b:  nop

      IL_001c:  nop

      IL_001d:  ret

    } // end of method SimpleButton::OnClick

     

     

    Ein Blick auf den IL-Code zeigt, dass der VB.NET Compiler im Hintergrund die Überprüfung selbst erzeugt und (fast) genau den gleichen IL Code wie in dem C# Beispiel erzeugt. Na wenn das mal nichts ist!

     

    ... und wenn einem so viel Gutes wiederfährt ist das doch einen Blog Eintrag wert :-)

     

    Happy coding!

     

    Daniel

  • <dw:daniel_walzenbach runat="server" />

    Internet Explorer 7 Release Candidate 1 ist verfügbar

    • 1 Comments

    Seit heute ist der Microsoft Internet Explorer 7 als RC1 verfügbar. Wie die Entwickler in ihrem Blog mitteilen haben sie sich seit der Beta 3 auf Bugfixing und endgültigen Anpassungen der CSS Unterstützung im Internet Explorer konzentriert.

    Die IE7 RC1 ist auf http://www.microsoft.com/ie verfügbar.

    You know you want it!

  • <dw:daniel_walzenbach runat="server" />

    The Ultimate List of Free Windows Software from Microsoft

    • 0 Comments

    Eine Liste aller ca. 150 frei verfügbaren Windows Programme ist hier verfügbar:
    http://bhandler.spaces.live.com/blog/cns!70F64BC91...

    Enjoy! Daniel

  • <dw:daniel_walzenbach runat="server" />

    Service Pack 1 für Visual Studio 2003 verfügbar

    • 0 Comments

    Seit heute ist das erste Service Pack für Visual Studio .NET 2003 (VS .NET 2003 SP1) verfügbar. Wie gewohnt findet sich auf der Download Center Seite ein Link zu allen Issues welche dieses Service Pack adressiert.

    Zusätzliche Informationen sind auf Somasegar's WebLog verfügbar.

  • <dw:daniel_walzenbach runat="server" />

    ASP.NET 2.0 Tipps, Tricks, Rezepte und Gotchas

    • 0 Comments

    Scott Guthrie's Blog ist einfach immer wieder eine Freude! Heute fand ich seine populärsten Artikel der vergangenen Jahre unter dem Titel „ASP.NET 2.0 Tips, Tricks, Recipes and Gotchas“ zusammengefasst. COOL!

    Viel Spaß beim Lesen wünscht

    Daniel

    Ach ja... würdet Ihr o.g. genannte Artikel gerne auf MSDN solve sehen?

  • <dw:daniel_walzenbach runat="server" />

    Blogging in WYSIWYG

    • 0 Comments

    Ab heute macht bloggen Spaß :-) Die Beta des Windows Live Writer steht zum Download bereit und überzeugt durch ein wahres Feuerwerk an Features:

    • WYSIWYG Textbearbeitung
    • Einfügen, Bearbeiten und Veröffentlichen von Fotos. Windows Live Writer unterstützt den Upload von Bildern über FTP oder die newMediaObject API
    • Integration von Windows Live Local Karten
    • Windows Live Writer SDK
    • Windows Live Writer arbeitet perfekt mit Windows Live Spaces zusammen, unterstützt jedoch auch Blogger, LiveJournal, TypePad, WordPress (und viele andere). Das Windows Live Writer Team hat sich außerdem zum Ziel gesetzt dass Windows Live Writer ALLE verfügbaren Blogging Systeme unterstützen soll. "We want Writer to work well with every blogging service out there. If you can’t get Writer to work with your blog, we want to know."

    Alle Infos auf Writer Zone! Happy Blogging!

    Daniel

  • <dw:daniel_walzenbach runat="server" />

    Alles muss raus! Kostenloser Download von MS Press Büchern!

    • 2 Comments

    Na wenn das mal nicht richtig gut ist? Die Bücher Seven Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0 (Adobe PDF file, 4,877 KB) und First Look 2007 Microsoft Office System (Adobe PDF file; 6,080 KB) von MS Press sind zum kostenlosen Download verfügbar.

    Für Home und Office Worker ist außerdem das 2007 Microsoft Office - Learning Portal interessant. Derzeit werden die folgenden Kurse für einen zeitlich begrenzten Zeitraum kostenlos angeboten:

    Zuviel versprochen? Don't waste your time! Get busy NOW!

  • <dw:daniel_walzenbach runat="server" />

    Endlich ist es soweit! MSDN solve ist online!

    • 1 Comments

    MSDN solve. Antworten für Entwickler

    Dieses neue Portal gehört zur MSDN Familie und richtet sich an professionelle Entwickler die praxisorientierte Hilfestellung („How-To-Guides“) suchen.
    Gleich vom Start weg sind mehr als 600 „How-To-Guides“ verfügbar, mehr als 30 CodeClips - kurze, ca. fünfzehnminütige Videos – stehen zum Download bereit.

    Doch das ist nicht alles. MSDN solve wird kontinuierlich erweitert und verbessert werden und zwar hinsichtlich der Bedürfnisse der Entwicklergemeinde! Aus diesem Grund sind wir auf Euer Feedback angewiesen. Was gefällt Euch an MSDN solve bzw. was würdet Ihr ändern? Welche Themen sollen zukünftig in MSDN solve behandelt werden und wie stellt Ihr Euch das vor? Wir erwarten Euer Feedback unter mssolve@microsoft.com.

    Mitgliedern aus der Entwicklergemeinde haben übrigens die Möglichkeit eigene Artikel auf MSDN solve zu veröffentlichen. Wenn Ihr also Spezialist(in) auf einem bestimmten Gebiet seid, dieses Thema zu MSDN solve passt und Ihr Euren Namen gerne auf MSDN solve sehen würdet schreibt einfach eine E-Mail an mssolve@microsoft.com.

    Aber Moment… es wird noch besser (unglaublich)! Zwar gibt es nicht das 18-teilige Messerset in doppelter Ausführung aber zur Einführung von MSDN solve erhalten alle Nutzer von MSDN solve die sich fünf CodeClips ansehen eine Visual Studio Standard Version geschenkt. Noch Fragen?

    In diesem Sinne... Daniel

  • <dw:daniel_walzenbach runat="server" />

    C# Language Specification

    • 1 Comments

    Für alle, die an der C# Language Specification - ECMA 334 standard (4th Edition – June 2006) interessiert sind, bitte sehr (2,49 MB)!

  • <dw:daniel_walzenbach runat="server" />

    PHP on steroids

    • 0 Comments

    Phalanger - der PHP Compiler für das .NET Framework - ist als Beta 2 verfügbar
    (
    http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger http://www.codeplex.com/Phalanger)!

    Phalanger ermöglicht es Entwicklern Webseiten mit PHP zu erstellen und dennoch in den Genuss der Vorteile des .NET Frameworks zukommen. Umgekehrt ermöglicht Phalanger .NET Entwicklern den Zugriff auf alle vorhandenen Klassenbibliotheken von PHP.

    Vorteile von Phalanger für PHP Entwickler

    • Signifikant performantere Anwendungen da der Code auf dem Webserver bereits in kompilierter Form vorliegt und nicht zur Laufzeit interpretiert werden muss.
    • Größerer Schutz des geistigen Eigentums da nur die kompilierte Assembly und nicht der Quellcode veröffentlicht werden muss.
    • Keine Abstürze des Webservers oder buffer overruns mehr da Anwendungen in dem Sicherheitskontext der .NET CLR ausgeführt werden.
    • Zugriff auf die reichhaltige Klassenbibliothek des .NET Frameworks.
    • Integration von PHP in Microsoft Visual Studio .NET mit Syntax Highlighting, Syntaxüberprüfung, Debugging, ...
      Debuggen einer PHP Anwendung.
    • und, und, und ...

    Unter http://www.php-compiler.net/ sind weitere Informationen verfügbar.

    Happy coding! Daniel

  • <dw:daniel_walzenbach runat="server" />

    Paint.NET

    • 0 Comments

    Auf meiner Suche nach einem kleinen, nützlichen Tool zur Bildbearbeitung bin ich auf Paint.NET gestoßen. Für die schnelle, unkomplizierte Bildbearbeitung zwischendurch absolut empfehlenswert!

    Paint.NET unterstützt Layern, eine beliebige Anzahl von Undo-Schritten, leistungsfähige Tools, Special Effekte und ist - incl. Quellcode - frei verfügbar.

    You know what to do! Get Paint.NET!

  • <dw:daniel_walzenbach runat="server" />

    Einfach unglaublich...

    • 0 Comments

    war die Demo von Photosynth auf der diesjährigen MGX (Microsoft Global Exchange) in Orlando.
    Photosynth ist eine Technologiestudie der Microsoft Live Labs welche eine Anzahl von Bildern zu einem Ort oder Objekt auf Gemeinsamkeiten vergleicht. Anhand der Gemeinsamkeiten erstellt Photosynth eine 3D Rekonstruktion aller Bilder und ermöglicht es dem Betrachter sich in dem 3D-Modell frei zu bewegen.

    Photosynth in Action
    Hintergrundinformationen zu Photosynth

    Viel Spaß noch mit Photosynth

    Daniel

Page 1 of 1 (15 items)