Freigeben über


Hosten in Internetinformationsdienste (IIS)

Eine Option für das Hosten von WCF-Diensten (Windows Communication Foundation) ist das Hosten innerhalb einer IIS-Anwendung (Internetinformationsdienste). Dieses Hostmodell ist dem Modell ähnlich, das von ASP.NET und ASP.NET-Webdiensten (ASMX) verwendet wird.

Versionen von IIS

WCF kann in folgenden Versionen von IIS unter folgenden Betriebssystemen gehostet werden:

  • IIS 5.1 unter Windows XP SP2. Diese Umgebung ist nützlich für Entwurf und Entwicklung von in IIS gehosteten Anwendungen, die später unter einem Serverbetriebssystem wie z. B. Windows Server 2003 bereitgestellt werden.

  • IIS 6.0 unter Windows Server 2003. IIS 6.0 bietet ein erweitertes Prozessmodell, das verbesserte Skalierbarkeit, Zuverlässigkeit und Anwendungsisolation bereitstellt. Diese Umgebung ist für die Produktionsbereitstellung von WCF-Diensten geeignet, die ausschließlich HTTP-Kommunikation verwenden.

  • IIS 7.0 unter Windows Vista und Windows Server 2008. IIS 7.0 bietet das gleiche erweiterte Prozessmodell wie IIS 6.0, verwendet jedoch den Windows-Prozessaktivierungsdienst, um die Aktivierung und die Netzwerkkommunikation über andere Protokolle als HTTP zu ermöglichen. Diese Umgebung ist für die Entwicklung von WCF-Diensten geeignet, die über eines der von WCF unterstützten Netzwerkprotokolle kommunizieren (HTTP, net.tcp, net.pipe und net.msmq). Weitere Informationen zum Windows-Prozessaktivierungsdienst finden Sie unter Hosten im Windows-Prozessaktivierungsdienst.

  • Windows Server AppFabric stellt durch die Zusammenarbeit mit IIS 7.0 und dem Windows-Prozessaktivierungsdienst eine vielseitige Anwendungshostingumgebung für NET4 WCF- und WF-Dienste bereit. Vorteile sind u. a. die Verwaltung von Prozesslebenszyklen, die Prozesswiederverwendung, freigegebenes Hosting, rascher Ausfallschutz, Verwaisen von Prozessen, die Aktivierung bei Bedarf und die Systemüberwachung. Ausführliche Informationen finden Sie unter AppFabric-Hostingfeatures und AppFabric-Hostingkonzepte.

Vorteile des Hostings in IIS

Das Hosten von WCF-Diensten in IIS bietet mehrere Vorteile:

  • In IIS gehostete WCF-Dienste werden auf die gleiche Weise bereitgestellt und verwaltet wie jeder andere Typ von IIS-Anwendungen, einschließlich ASP.NET-Anwendungen und ASMX.

  • IIS stellt Prozessaktivierung, Systemüberwachung und Wiederverwendungsfähigkeiten bereit, um die Zuverlässigkeit der gehosteten Anwendungen zu erhöhen.

  • Wie ASP.NET-Dienste können sich auch in ASP.NET gehostete WCF-Dienste die Vorteile des freigegebenen ASP.NET-Hostmodells zunutze machen, bei dem sich mehrere Anwendungen für verbesserte Serverdichte und Skalierbarkeit in einem gemeinsamen Arbeitsprozess befinden.

  • In IIS gehostete WCF-Dienste verwenden das gleiche dynamische Kompilierungsmodell wie ASP.NET 2.0, das Entwicklung und Bereitstellung gehosteter Dienste erleichtert.

Wenn Sie sich dafür entscheiden, WCF-Dienste in IIS zu hosten, müssen Sie unbedingt daran denken, dass IIS 5.1 und IIS 6.0 auf HTTP-Kommunikation beschränkt sind. Weitere Informationen zur Auswahl einer Hostingumgebung finden Sie unter Hostingdienste.

Bereitstellen eines in IIS gehosteten WCF-Diensts

Das Entwickeln und Bereitstellen eines in IIS gehosteten WCF-Diensts umfasst die folgenden Aufgaben:

  • Sicherstellen, dass IIS, ASP.NET, WCF und die HTTP-Aktivierungskomponente von WCF ordnungsgemäß installiert und registriert sind

  • Erstellen einer neuen IIS-Anwendung oder Wiederverwenden einer vorhandenen ASP.NET-Anwendung

  • Erstellen einer SVC-Datei für den WCF-Dienst

  • Bereitstellen der Dienstimplementierung für die IIS-Anwendung.

  • Konfigurieren des WCF-Diensts

Eine Erläuterung jeder dieser Aufgaben finden Sie unter Bereitstellen eines in IIS gehosteten WCF-Diensts.

WCF-Dienste und ASP.NET

WCF-Dienste können entweder parallel mit ASP.NET oder im ASP.NET-Kompatibilitätsmodus gehostet werden, in dem die Dienste alle Vorteile der von der ASP.NET-Webanwendungsplattform gebotenen Funktionen nutzen können. Eine Erläuterung dieser Features finden Sie unter WCF-Dienste und ASP.NET.

Siehe auch