Tags: , | Categories: ASP.NET Posted by AlexanderZeitler on 9/27/2007 7:04 PM | Comments (7)

Die bei ASP.NET mitgelieferten Controls werden immer umfangreicher und ausgefeilter.

Nichtsdestotrotz stelle ich mir immer wieder die Frage: wer nutzt dieses oder jenes Control und warum? Wo liegen die Grenzen?

Insbesondere würden mich folgende Dinge interessieren:

  • Kommt eher die SqlDataSource zum Einsatz oder die ObjectDataSource?
  • Wird überhaupt mit den DataSource-Controls gearbeitet?
  • Wo seht Ihr die Grenzen, insbesondere der DataSource-Controls?
  • Verwendet / entwickelt Ihr Custom Controls für die Visualisierung von eigenen Objekten?
  • Verwendet Ihr LinkButtons oder nach wie vor Hyperlink(-Controls)?
  • Arbeitet Ihr eher mit CodeBehind (bzw. Beside wie es seit 2.0 korrekt heißt) oder eher deklarativ?
  • Welche Art sind Eure ASP.NET-Anwendungen? (klassische Websites, Intranets, Extranets usw.)

Ich bin gespannt auf Euer Feedback!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Posted by AlexanderZeitler on 9/25/2007 8:05 AM | Comments (0)

Will man in SubText eine Kategorie als RSS-Feed bereitstellen bzw. abrufen, geht dies einfach, indem man an die URL der Kategorie ein "/rss" anhängt - nicht spektakuläres, aber man muß es eben wissen ;-)

Also um z.B. den RSS-Feed für meine "ASP.NET 2.0"-Kategorie zu erhalten, ist folgender Link notwendig:

http://blog.alexonasp.net/category/1174.aspx/rss

Update: Da ich inzwischen auf BlogEngine.NET umgestiegen bin, funktioniert der Link nicht mehr

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Posted by AlexanderZeitler on 9/25/2007 6:02 AM | Comments (0)

Microsoft liefert in der MSDN mit der .NET Stock Trader-Beispielanwendung eine vollständig dokumentierte und im Quellcode herunterladbare Referenzimplementierung für eine verteilte Applikation mit WCF, WPF und ASP.NET.

Mittels .NET StockTrader vorgeführte Technologien

  • Dienstorientiertes n-Stufen-Design mit ASP.NET und WCF
    • Saubere Trennung von Benutzeroberfläche, Unternehmensdiensten und Datenbankzugriff
    • Leistungsorientiertes Design und Einstellen
    • Horizontal skalierbar über dynamisches Clustering
    • Zentralisierte Konfigurationsverwaltung geclusterter Dienstknoten
  • .NET 3.0 mit Windows Communication Foundation
    • Interoperabilität mit J2EE/WebSphere Trade 6.1
    • Umfasst alternative Entwürfe für Leistungsvergleiche
    • Lose gekoppeltes, nachrichtenorientiertes Design mit WCF und MSMQ
    • Gesicherte Nachrichtenlieferung mit Transaktionen
    • Self-Hosting von WCF-Diensten
    • Benutzerdefiniertes WCF-Verhalten
    • Diensthost-Fehlererkennung und automatische Neustarts
  • .NET Enterprise Application Server-Technologien
    • ASP.NET 2.0
    • ADO.NET 2.0
    • .NET-Transaktionen
    • MSMQ 3.5 (Windows XP/Windows Server 2003)
    • MSMQ 4.0 (Windows Vista/„Longhorn Server CTP“)
    • Batchverarbeitung von Transaktionen mit WCF und MSMQ

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: | Posted by AlexanderZeitler on 9/24/2007 10:57 AM | Comments (0)

"Adrenalin-Junkies und Formular-Zombies- Typisches Verhalten in Projekten" - so lautet der neueste Titel von Tom DeMarco, der ab 04.10.2007 verfügbar ist.

978-3-446-41254-5_2797134253-113

Auf der Verlagsseite gibt es bereits eine Leseprobe.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Posted by AlexanderZeitler on 9/23/2007 5:51 PM | Comments (0)

Ich habe eben alle Blog-Einträge gefixt, die im Titel Umlaute enthielten. Offenbar wurden diese beim Umstieg von dasBlog auf SubText nur teilweise korrekt abgearbeitet.

Dank der Tatsache, dass SubText die Einträge in einer SQL-Server-DB speichert, war die Änderung mit einigen SQL Update-Anweisungen jedoch schnell erledigt.

Somit sollten jetzt wieder alle Einträge funktionieren.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Posted by AlexanderZeitler on 9/18/2007 10:58 AM | Comments (0)

Um z.B. Acropolis-Projekte in Microsoft Expression Blend 1.0 öffnen zu können, muss Expression Blend für die Verwendung mit Visual Studio 2008 konfiguriert werden.

Dies erledigt man am einfachsten mit dem Microsoft Expression Blend Configurator:

Expression Blend Configurator

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Posted by AlexanderZeitler on 9/10/2007 10:38 PM | Comments (3)


In diesem Posting werde ich ein kleines "Hello World"-Beispiel mit Microsoft Acropolis erstellen.

Acropolis ist ein Set von Komponenten und Tools, die die Entwicklung von clientseitigen, modular aufgebauten Business Applikationen mit .NET und WPF deutlich erleichtern und somit beschleunigen soll. Acropolis ist der offizielle Nachfolger des SmartClient Application Blocks und integriert sich in Visual Studio 2008.

Systemvoraussetzungen

Um dieses Beispiel "nachbauen" zu können, sind folgende Downloads notwendig:

Konzept

In Acropolis wird bei der Entwicklung von Windows-Anwendungen mittels WPF der Ansatz der strikten Trennung von Code und UI verfolgt. Hierzu existieren in Acropolis zwei wesentliche Elemente:

  • View: reprästentiert das UI, z.B. TextBoxen, Buttons usw.
  • Part: Code in Form von Methoden und Eigenschaften, der die View(s) steuert

Dieser Ansatz ermöglicht die unabhängige und parallele Entwicklung von UI (durch einen Designer) und Code (durch einen Entwickler), welche zu einem späteren Zeitpunkt wieder zur vollständigen Applikation zusammengeführt werden können.

Die Verbindung zwischen View und Part - um z.B. den Code für den Klick auf einen Button auszuführen -  stellen sogenannte "Connection Points" dar. Hierbei wird unterschieden zwischen ComponentProperty, um Eigenschaften zu binden und ComponentCommand, um Methoden zu binden.

Die nachfolgende Grafik verdeutlicht die Zusammenhänge:

 

PartsAndViewsConnectionPointsFinal 

Hello World!

Nach der Installation muß in Visual Studio 2008 ein neues Projekt vom Typ "Acropolis" / "WPF Application" erstellt werden:

NewAcropolisProject3D

Nach einem Klick auf den "OK"-Button öffnet sich der "Acropolis Application Wizard":

AcropolisWizardStep13D 

Dieser kann ohne Änderungen über den "Finsih"-Button sofort beendet werden (unser Beispiel soll so einfach wie möglich bleiben ;-))

Visual Studio legt nun im aktuellen Projekt die Dateien "Application.xaml" und "Window1.xaml" an:

SolutionExplorer13D

Über einen Rechtsklick auf das Projekt "AcropolisHelloWord" im Solution-Explorer und danach auf "Add" und "New Item..." muß ein neues Item vom Typ "Acropolis Part and View (WPF) mit dem Namen "HelloWorld.xaml" hinzugefügt werden:

AddNewItemHelloWorldXAML3D

Visual Studio erzeugt nun im Solution Explorer vier neue Dateien:

  • HelloWorld.xaml
  • HelloWorld.xaml.cs
  • HelloWorldView.xaml
  • HelloWorldView.xaml.cs

In HelloWorld.xaml bzw. HelloWorld.xaml.cs befindet sich später die Logik für HelloWorldView.xaml(.cs), welches wiederum die UI definiert.

Nach einem Doppelklick auf "HelloWorldView.xaml) im Solution-Explorer wird die Datei im Designer dargestellt, welcher in die Bereiche Design und XAML unterteilt ist:

HelloWorldViewXAML3D

Im nächsten Schritt ziehen wir aus der Toolbox eine TextBox und einen Button auf unser HelloWorldView-Form:

HelloWorldViewXAMLWithControls3D

Alternativ kann auch der folgende Code zwischen die beiden <Grid></Grid>-Tags kopiert werden:

     	
     	

Damit ist das Designen des Formulars in der HelloWorldView.xaml abgeschlossen. Nun fehlt uns noch der Code, der beim Klick auf den Button den Text der TextBox in einer MessageBox ausgibt.

Gemäß des Konzepts von Acropolis muß sich dieser Code in der HelloWorld.xaml(.cs) befinden, welche wir durch einen Doppelklick im Solution-Explorer öffnen:

HelloWorldXAML3D

Nun werden wir eine ComponentProperty, welche and die TextBox gebunden wird und ein ComponentCommand, welches an den Button-Click gebunden wird, hinzufügen.

Hierzu muß der Design-Teil der Datei HelloWorld.xaml angeklickt (bzw. aktiv) sein.

Danach erfolgt ein Doppelklick auf die ComponentProperty in der Toolbox im Abschnitt "Acropolis Framework":

ComponentPropertyToolbox3D

Nun muß noch ein Doppelklick auf "ComponentCommand" durchgeführt werden, wobei auch hier vorher sichergestellt sein muß, dass die Design-Ansicht aktiv ist:

ComponentCommandToolbox3D

Danach sollte sich die HelloWorld.xaml wie folgt im Designer präsentieren (man beachte die neuen Einträge unter "Connection Points / Properties"):

HelloWorldWith2ConnectionPoints3D

In der XAML-Ansicht muß nun der Code


	
	
durch


	
	 

ersetzt werden.

CommandExecuted ist der Name der Methode, die ausgeführt werden soll, wenn das entsprechende Kommando aufgerufen wird.

Description beinhaltet die Beschreibung des Befehls, welche angezeigt wird, wenn der Befehl über ein Menü aufgerufen werden soll.

Im nächsten Schritt erstellen wir die Methode showText, welche sich in der Datei HelloWorld.xaml.cs befinden muß (wir öffnen diese über den Solution-Explorer:

SolutionExplorerHelloWorldXAMLcs3D

Die Methode showText sieht wie folgt aus:

private void showText(object sender, ComponentCommandExecutionEventArgs<OBJECT> e){
	System.Windows.MessageBox.Show(inputText.Value.ToString());
}

Dieser führt nun den Button1ClickHandler unseres Parts HelloWorld.xaml aus.

Da ein Part, so wie wir es bis hierher entwickelt haben, nicht alleine lauffähig ist, muß es zu einem Host (d.h. der Applikation, in der das Part ausgeführt wird) verbunden werden, in unserem Fall die Application.xaml.

Um das Part für Application.xaml verfügbar zu machen, muß ein Build der Solution durchgeführt werden (Rechtsklick auf die Solution im Solution Explorer -> "Build Solution").

Danach erscheint in der Toolbox bei geöffneter Application.xaml in der Sektion "User Components(Acropolis)" der Eintrag "HelloWorld":

ToolBoxHelloWorldPart3D

Nach einem Doppelklick auf diesen Eintrag erscheint eine Instanz von HelloWorld (nämlich HelloWorld1) in der Application und die ConnectionPoints werden angezeigt:

ApplicationXamlFinal3D

Wenn wir nun die Applikation starten und in der TextBox einen Text eingeben, gefolgt von einem Klick auf den Button, erscheint der eingegebene Text in einer MessageBox - that's it!

HelloWorldFromAcropolis3D

 

Download: AcropolisHelloWorld.zip (Verwendung auf eigene Gefahr!)


	

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Categories: HTML Posted by AlexanderZeitler on 9/10/2007 2:41 PM | Comments (0)

Dirk Jesse hat den YAML-Builder 0.3 released.

Was ist YAML-Builder? YAML-Builder ist ein Javascript-Tool, mit dem sich ein Layout, basierend auf YAML, dem (X)HTML/CSS-Framework von Dirk Jesse, einfach im Browser zusammenklicken lässt.

Hier ein Screenshot:

YAMLBuilder

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Posted by AlexanderZeitler on 9/4/2007 2:10 PM | Comments (4)

Will man mit ASP.NET prüfen, ob die Session eines Users abgelaufen ist, hilft folgender Code:

if (Context.Session != null) {
    if (Context.Session.IsNewSession == true) {
        string cookieHeader = Page.Request.Headers["Cookie"];
        if ((null != cookieHeader) && (cookieHeader.IndexOf("ASP.NET_SessionId") >= 0)) {
            if (Page.Request.IsAuthenticated == true) {
                FormsAuthentication.SignOut();
            }
            Page.Response.Redirect(redirectUrl);
        }
    }
}


Erklärung folgt später, habe eigentlich gerade überhaupt keine Zeit ;-)

Zunächst prüfen wir, ob für den aktuellen User eine Session vorliegt. Ist dies der Fall, prüfen wir ob die Session im aktuellen Request erstellt wurde. Ist dieser der Fall, prüfen wir, ob das Standard-Cookie "ASP.NET_SessionId" vorhanden und der cookieHeader-String nicht null ist. Ist dies der Fall, liegt ein Session Timeout (Session expired) vor.

Der Rest ist Kosmetik: wir prüfen, ob der User authentifiziert war und loggen ihn gegebenfalls aus. Danach erfolgt noch ein Redirect auf eine vorher definierte Redirect-Seite.

Currently rated 3.0 by 10 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Posted by AlexanderZeitler on 9/4/2007 7:16 AM | Comments (0)

Microsoft hat ausgewählten Mitgliedern der Community die Möglichkeit eröffnet, ein Gewinnspiel rund um die XTOPIA Konferenz im Oktober in Berlin zu veranstalten. Dafür stellt Microsoft drei Preise zur Verlosung, die wir im folgenden vorstellen.

Preise

Zeitraum des Gewinnspiels

Montag 27. August 2007 12 Uhr CEST bis Freitag 14. September 2007 15 Uhr CEST

Teilnahmebedingungen

  • Teilnahmeberichtigt sind ordentliche Mitglieder der Glengamoi Community. Es gilt kein Stichtag vor dem Teilnehmer angemeldet sein müssen, eine Anmeldung zur Community zum Zweck der Teilnahme am Gewinnspiel ist erlaubt. Es gelten die Regeln für Benutzernamen, eine Mißachtung (inklusive unwahrer Angaben) führt zum Ausschluß aus dem Gewinnspiel.
  • Nicht teilnahmeberechtigt sind die Vorstandsmitglieder des Vereins Glengamoi.
  • Die Teilnehmer stimmen zu, daß ihr Name im Falle eines Gewinnes publiziert wird.
  • Der Rechtsweg ist ausgeschlossen.
  • Die Antworten auf die Gewinnspielfragen müssen via Persönliche Nachricht an das Konto XtopiaGewinnspiel geschickt werden.
  • Es ist unstatthaft die Antworten auf die Fragen für andere Communitymitglieder zugänglich zu machen und führt zum Ausschluß aus dem Gewinnspiel.

Gewinnspielfragen

  1. In welcher Stadt findet die Web-Konferenz XTOPIA statt? (Hilfe unter Termin / Ort / Hotel)
  2. Welche Give Aways erhalten Teilnehmer der XTOPIA? (Hilfe unter Give Away)
  3. Wie viele Tage kann man Expression Web kostenlos testen? (Hilfe)
  4. Von wem wurde das XTOPIA Countdown Gadget entwickelt? (Hilfe)
  5. Welche drei Vortragsreihen bietet die XTOPIA den Teilnehmern an? (Hilfe unter Vorträge / Conference)

Auslosung der Gewinner

  • Die Auslosung der Gewinner findet in umgekehrter Reihenfolge statt (dritter bis erster Platz).
  • Die Auslosung wird mittels Computerprogramm vorgenommen, der Code für das Programm kann downgeloadet werden. Für die verwendete Zufallszahlengenerierung lest bitte diesen MSDN Magazine Artikel.
  • Die Durchführung der Auslosung findet in Anwesenheit mehrerer Vorstandsmitglieder statt. Die Liste der anwesenden Personen wird bei Bekanntgabe der Gewinner mitpubliziert.
  • Die Gewinner werden im Anschluß an die Auslosung via persönlicher Nachricht vom Konto XtopiaGewinnspiel benachrichtigt. Diese Nachricht beinhaltet Informationen zur Einlösung des Gewinns.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5