.Net 3.0 und 3.5

From no name for this wiki
Jump to: navigation, search

Windows Workflow Foundation .NET FX 3.0

Hello World

WFSample1.cs

Hello World für Windows Workflow Foundation (.NET FX 3.0). Kein XAML, kein Designer, nur Code. WFSample1.cs.

Die referenzierten Assemblies befanden sich bei mir (Windows XP SP2) nach der Installation von .NET 3 unter C:\Programme\Reference Assemblies\Microsoft\Framework\v3.0.

Es sind: System.Workflow.Activities.dll, System.Workflow.ComponentModel.dll und System.Workflow.Runtime.dll.


Listener Sample

WWF Listener Sample

Windows Communication Foundation

Hello World

WCFSample.cs Hello World Hello World für Windows Communication Foundation (WCF), Code Name Indigo. WCFSample.cs. Das WSDL kann dann unter der URL http://localhost/mex abgerufen werden. Kein Config File nötig für dieses Sample, die Endpoints werden programmatisch gesetzt. Das Binding ist http basic (einfacher Webservice ohne Transaktionen und ohne Verschlüsselung und Integrität).

Multiple Endpoints

Sample mit mehreren Endpoints Service mit mehreren Endpoints und einem Client, welcher diese Endpoints nutzt. Hosting des Services ist im Prozess selbst. Um den Client zu generieren braucht es nicht nur das .net 3 Runtime, sondern auch das Vista SDK. Das Utility heisst SvcUtil.exe Der generierte Client kann so verwendet werden:

WCFSample2ServiceClient clientBasic = new       WCFSample2ServiceClient("BasicHttpBinding_IWCFSample2Service"); 
clientBasic.DoTask(); 
clientBasic.Close(); 

Files:

Per Session-Service

Per Session-Service Hier ein Beispiel eines Services mit SessionMode.Required. Reliable Bindings sind Voraussetzung. Im Beispiel wird verschlüsselt und signiert. Files:

Custom Authentication

Custom Authentication In diesem Sample wird Custom Authentication demonstriert. Es handelt sich um einen Self-hosted-service mit wsHttpBinding. Zuerst muss ein Zertifikat installiert werden. Dazu kann man das Tool MakeCert.exe verwenden. Der Aufruf ist wie folgt:

makecert -pe -n "CN=localhost" -ss My -sr LocalMachine -a sha1 -sky exchange -r "localhost.cer" 
certmgr.exe -add -r LocalMachine -s My -c -n "localhost" -r CurrentUser -s TrustedPeople 

Der zweite Befehl kopiert das Zertifikat in einen anderen KeyStore. Es muss auch in einem Trustes Store sein, sonst ist es nicht gültig. Geht auch im User Interface (mmc.exe) mit copy paste. Das Zertifikat ist dann automatisch im Keystore My (Eigene Zertifikate) installiert. Mit dem Tool mmc.exe (SnapIn muss noch hinzugefügt werden) kann man dann schauen, ob es funktioniert hat. Zum Kompilieren des Services braucht es noch die Assemby-Referenzen System.IdentityModel.dll und System.IdentityModel.Selectors.dll. Bei mir wurden die in Programme/Reference Assemblies/Microsoft/Framework/v3.0 installiert (XPSP2). In der Konfigurationsdatei des Servers muss man noch den AssemblyNamen angeben für die Implementation der Autentisierung. Hier die Dateien: Files:

Custom Authorization

Custom Authorization Dieses Beispiel erweitert das vorherige mit einer eigenen Implementation der Authorisierung. Es wird geprüft, ob der User einer Rolle hat. Der Client bleibt unverändert.