Mittwoch, 20. Juni 2012

Erstellen von WCF-Services mit Visual Studio 2010

  1. Starten von Visual Studio im Administratormodus
  2. Erstellen einer neuen Projektmappe
  3. Hinzufügen eines neuen Projekts (Server-Projekt)
  4. Erstellen eines Interface, das die Methoden des Service definiert. Über eine Annotation wird festgelegt, dass es sich um ein Service-Interface handelt (ServiceContract): [ServiceContract(Namespace = "http://BeispielNamespace")]. Der Name des Beispiel-Namespace kann frei gewählt werden.
  5. Die Servicemethoden werden ebenfalls annotiert: [OperationContract]
  6. Erstellen der Serviceklasse, die das Interface implementiert; die Serviceklasse ist eine POJO-Klasse, enthält also keinen Service-spezifischen Code
  7. Erstellen einer Klasse, die den Service bereitstellt:
    1. Definition der Uri, unter der der Service verfügbar sein wird: Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/BeispielService");  Die Bezeichungen "ServiceModelSamples" und "BeispielService" können frei gewählt werden, müssen also nicht mit der Klassenbezeichnung übereinstimmen.
    2. Erstellen des ServicHosts: ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress);
    3. Hinzufügen des Servicendpoints: selfHost.AddServiceEndpoint(
                      typeof(),
                      new WSHttpBinding(),
                      "BeispielService");
    4. Konfiguration des Service-Hosts: ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                      smb.HttpGetEnabled = true;
                      selfHost.Description.Behaviors.Add(smb);
    5. Öffnen des Service-Hosts: selfHost.Open();
    6. Zum Beenden des Service wird der Service-Host geschlossen: selfHost.Close();
    7. Ausführung des Server-Projekts zum Starten des Service
  8. Hinzufügen eines neuen Projekts (Client-Projekt)
  9. Erzeugung des Proxy mit Hilfe der Anwendung "SvcUtil.exe": Die Anwendung ist zu finden unter "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin" und wird vom Client-Projekt-Ordner aus aufgerufen: "SvcUtil.exe" /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/BeispielService". Wichtig zur Generierung des Quellcodes ist, dass der Service (als Administrator) gestartet ist. Dadurch wird die Quellcode-Datei "generatedProxy.cs erstellt. 
  10. Der Service kann im Quellcode des Clients wie eine lokale Komponente verwendet werden: BeispielClient client = new BeispielClient();

1 Kommentar:

  1. With that said, the advantages of a Magento website are many, so make sure that you take the time to explore all the possibilities that are available to you. Discover here to know more about magento commerce.

    AntwortenLöschen