Migrieren von ASP.NET-Webdiensten zu WCF

ASP.NET stellt .NET Framework-Klassenbibliotheken und Tools zum Erstellen von Webdiensten sowie Funktionen für Hostingdienste innerhalb von Internetinformationsdienste (IIS) bereit. Windows Communication Foundation (WCF) bietet .NET Framework-Klassenbibliotheken, Tools und Hosting-Funktionen, die es Softwareentitäten ermöglichen, über beliebige Protokolle zu kommunizieren, einschließlich der von Webdiensten verwendeten Protokolle. Durch Migrieren von ASP.NET-Webdiensten zu WCF können Ihre Anwendungen neue Funktionen und Verbesserungen nutzen, die für WCF besonders sind.

WCF bietet in Bezug auf ASP.NET-Webdienste einige wichtige Vorteile. Während ASP.NET-Webdienste einzig zum Erstellen von Webdiensten dienen, bietet WCF Tools, die verwendet werden können, wenn Softwareentitäten miteinander kommunizieren müssen. Dadurch wird die Zahl der Technologien reduziert, mit denen Entwickler vertraut sein müssen, um verschiedene Softwarekommunikationsszenarien bedienen zu können, was zu einer Senkung der Kosten für Softwareentwicklungsressourcen sowie zu einem schnelleren Abschluss von Softwareentwicklungsprojekten führt.

Sogar für Webdienstentwicklungsprojekte unterstützt WCF mehr Webdienstprotokolle als ASP.NET-Webdienste. Diese zusätzlichen Protokolle sorgen für ausgereiftere Projektmappen, die u. a. zuverlässige Sitzungen und Transaktionen implizieren.

WCF unterstützt mehr Protokolle zum Transportieren von Nachrichten als ASP.NET-Webdienste. ASP.NET-Webdienste unterstützen nur das Senden von Nachrichten mit HTTP (Hypertext Transfer Protocol). WCF unterstützt das Senden von Nachrichten mit HTTP, TCP (Transmission Control Protocol), Named Pipes und Microsoft Message Queuing (MSMQ). Darüber hinaus kann WCF zur Unterstützung weiterer Transportprotokolle erweitert werden. Mit WCF entwickelte Software kann daher angepasst werden, um mit einer größeren Vielfalt verschiedener Softwareprogramme zusammenzuarbeiten, was zu einer Erhöhung der potenziellen Rendite führt.

WCF bietet umfangreichere Funktionen zum Bereitstellen und Verwalten von Anwendungen als ASP.NET-Webdienste. Neben einem Konfigurationssystem, über das ASP.NET ebenfalls verfügt, bietet WCF einen Konfigurations-Editor, Aktivitätsablaufverfolgung von Absendern zu Empfängern und zurück über zahlreiche Vermittler, einen Ablaufverfolgungs-Viewer, Nachrichtenprotokollierung, zahlreiche Leistungsindikatoren und Unterstützung für die Windows-Verwaltungsinstrumentierung.

Angesichts dieser potenziellen Vorteile von WCF im Vergleich zu ASP.NET-Webdiensten haben Sie bei Verwendung oder möglicher Verwendung von ASP.NET-Webdiensten mehrere Möglichkeiten:

  • Sie können die ASP.NET-Webdienste weiter verwenden und auf die von WCF gebotenen Vorteile verzichten.

  • Sie können die ASP.NET-Webdienste mit der Absicht weiter verwenden, WCF in absehbarer Zeit einzuführen. In den Themen dieses Abschnitts wird erläutert, wie Sie die Perspektiven maximieren, neue ASP.NET-Webdienstanwendungen in Verbindung mit künftigen WCF-Anwendungen zu verwenden. Außerdem wird in den Themen dieses Abschnitts beschrieben, wie Sie neue ASP.NET-Webdienste so erstellen, dass eine Migration zu WCF erleichtert wird. Wenn jedoch der Schutz der Dienste wichtig ist oder Zuverlässigkeit oder Transaktionszusicherungen erforderlich sind oder wenn benutzerdefinierte Verwaltungsfunktionen erstellt werden müssen, sollten Sie WCF implementieren. WCF ist für genau diese Szenarien vorgesehen.

  • Implementieren Sie WCF für neue Entwicklungen, und behalten Sie gleichzeitig Ihre vorhandenen ASP.NET-Webdienstanwendungen bei. Diese Vorgehensweise ist wahrscheinlich optimal. Sie können so von den Vorteilen von WCF profitieren und gleichzeitig die Kosten sparen, die zum Ändern der vorhandenen Anwendungen notwendig wären. In diesem Szenario können neue WCF-Anwendungen neben vorhandenen ASP.NET-Anwendungen laufen. Neue WCF-Anwendungen können vorhandene ASP.NET-Webdienste verwenden, und WCF kann dazu verwendet werden, neue operative Funktionen in vorhandenen ASP.NET-Anwendungen im WCF-ASP.NET-Kompatibilitätsmodus zu programmieren.

  • Implementieren Sie WCF, und migrieren Sie vorhandene ASP.NET-Webdienstanwendungen zu WCF. Mit dieser Möglichkeit können Sie vorhandene Anwendungen mit Funktionen von WCF verbessern oder die Funktionen von vorhandenen ASP.NET-Webdiensten innerhalb neuer, leistungsstärkerer WCF-Anwendungen reproduzieren.

Hinweis

Vorsicht ist geboten, wenn ein WCF-Dienst von IIS 5.x gehostet und ASP.NET deinstalliert wird. Wenn ein WCF-Dienst von IIS 5.x gehostet wird, kann beim Deinstallieren von ASP.NET der Code für den Dienst angefordert werden. Wenn ASP.NET auf einem Betriebssystem deinstalliert wird, auf dem IIS 5.x ausgeführt und WCF deinstalliert wird, wird eine Datei mit der Erweiterung „.svc“ als Textdatei betrachtet und der Inhalt, einschließlich Quellcode, wird an den Anforderer zurückgegeben.

Dieser Abschnitt beschreibt diese Optionen ausführlich, vergleicht ASP.NET-Webdienste mit WCF und bietet Anleitungen für die Migration Ihres ASP.Net-Webdienstcodes zu WCF.

Siehe auch