Wie stelle ich meinen WCF-Dienst auf IIS 6.0 bereit?

8

Ich bin völlig neu in WCF und die Bereitstellung von Diensten. Ich habe Probleme beim Einrichten meines Dienstes auf IIS 6.0.

Ich brauche die genauen Schritte, um meinen WCF -Dienst auf IIS 6.0 bereitzustellen.

Hinweis: Ich habe eine WCF Dienstanwendung erstellt ...

Also, was sind die genauen Schritte, die ich befolgen muss, um meinen WCF-Dienst auf IIS 6.0 bereitzustellen?

    
Willem 27.02.2012, 06:10
quelle

1 Antwort

11

Sie haben grundsätzlich zwei Möglichkeiten, glaube ich:

Option 1 - "bin" Bereitstellung (bevorzugte Option)

  1. kompilieren Sie Ihren WCF-Dienst in eine DLL (Klassenbibliothek)
  2. Erstellen Sie eine Website in IIS6
  3. Kopieren Sie die WCF-DLLs in den .\bin -Ordner der Website
  4. Erstellen Sie eine *.svc -Datei auf dieser Website
  5. fügen Sie einen passenden web.config in den Website-Ordner ein, um Ihre Endpunkte und Dienstkonfiguration usw. zu definieren.

Ihr WCF-Dienst ist nun über die Basisadresse der Website und den Namen der *.svc -Datei, z. B.

, erreichbar %Vor%

Ihr *.svc würde etwa so aussehen:

%Vor%

Die Attribute Service= bezeichnen die Klasse, die den Dienst implementiert - voll qualifiziert mit seinem Namensraum.

Option 2 - fügen Sie Zeug in App_Code

ein
  1. Erstellen Sie eine Website in IIS6
  2. fügen Sie alle Ihre WCF-verwandten *.cs -Dateien direkt in den .\App_Code -Ordner
  3. ein
  4. Erstellen Sie eine *.svc -Datei auf dieser Website
  5. fügen Sie einen passenden web.config in den Website-Ordner ein, um Ihre Endpunkte und Dienstkonfiguration usw. zu definieren.

Ihr WCF-Dienst ist nun über die Basisadresse der Website und den Namen der *.svc -Datei, z. B.

, erreichbar %Vor%

Ihr *.svc würde etwa so aussehen:

%Vor%

Ein einfaches Beispiel web.config könnte etwa so aussehen:

%Vor%

Sie definieren im Grunde Ihr <service> -Tag - und noch einmal: Das name= bezeichnet die Klasse, die den Service implementiert - vollständig qualifiziert mit seinem Namensraum. Es muss mindestens einen Endpunkt enthalten - da IIS6 nur HTTP unterstützt, können Sie basicHttpBinding oder wsHttpBinding verwenden und das ist alles, was es gibt. Ein "mex" -Endpunkt ist optional - aber sehr nützlich, besonders für die Entwicklung und das Testen. Es ermöglicht dem Client, den Dienst zu "entdecken" und seine Dienstbeschreibung zu erhalten, damit er mit ihm in Verbindung treten kann.

Sobald Ihr Dienst in IIS bereitgestellt wurde, können Sie ihn mit einem Tool wie dem WCF-Test in Aktion sehen Client , der kostenlos mit WCF geliefert wird, oder SoapUI , ein universelles SOAP-Testprogramm (mit einer kostenlosen Version für Sie) zu benutzen).

    
marc_s 27.02.2012, 06:28
quelle

Tags und Links