Freigeben über


Vorbereitungen für Windows Communication Foundation: Einfachere Integration in der Zukunft

Wenn Sie heute ASP.NET verwenden und vorhaben, zukünftig WCF zu verwenden, bietet dieses Thema Tipps, die gewährleisten, dass neue ASP.NET-Webdienste mit WCF-Anwendungen ordnungsgemäß zusammenwirken.

Allgemeine Empfehlungen

Übernehmen Sie ASP.NET 2.0 auch für neue Dienste. Dadurch stellen Sie den Zugriff auf die Verbesserungen und Erweiterungen der neuen Version bereit. Sie erhalten so auch die Möglichkeit, ASP.NET 2.0-Komponenten zusammen mit WCF-Komponenten in derselben Anwendung zu verwenden.

Protokolle

Verwenden Sie die neue Funktion von ASP.NET 2.0 zum Überprüfen der Konformität mit WS-I Basic Profile 1.1:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(
     ConformsTo = WsiProfiles.BasicProfile1_1,
     EmitConformanceClaims=true)]
public interface IEcho

ASP.NET-Webdienste, die mit WS-I Basic Profile 1.1 übereinstimmen, sind mit WCF-Clients interoperabel, wenn die von WCF vordefinierte BasicHttpBinding-Bindung verwendet wird.

Dienstentwicklung

Vermeiden Sie die Verwendung des SoapDocumentServiceAttribute-Attributs, wenn Nachrichten basierend auf dem vollqualifizierten Namen des Textelements der SOAP-Nachricht anstatt des SOAPAction-HTTP-Headers an Methoden geleitet werden sollen. WCF verwendet den SOAPAction-HTTP-Header zum Weiterleiten von Nachrichten.

Datendarstellung

Die XML, in die XmlSerializer standardmäßig einen Typ serialisiert, ist semantisch identisch mit der XML, in die DataContractSerializer einen Typ serialisiert, vorausgesetzt, der Namespace für die XML wurde explizit definiert. Wenn ein Datentyp für die Verwendung mit ASP.NET-Webdiensten in Antizipation einer zukünftigen WCF-Integration definiert wird, gehen Sie wie folgt vor:

  1. Definieren Sie den Typ mit .NET Framework-Klassen und nicht mit dem XML-Schema.

  2. Fügen Sie der Klasse lediglich SerializableAttribute und XmlRootAttribute hinzu, wobei Sie letzteres zur expliziten Definition des Namespace für den Typ verwenden. Fügen Sie keine zusätzlichen Attribute aus dem System.Xml.Serialization-Namespace hinzu, um zu steuern, wie die .NET Framework-Klasse in XML übersetzt wird.

Wenn Sie diese Methode wählen, sollte es später kein Problem darstellen, die .NET-Klassen in Datenverträge umzuwandeln, indem Sie DataContractAttribute und DataMemberAttribute hinzufügen, ohne die XML erheblich zu ändern, in die die Klassen für die Übertragung serialisiert werden. Die von den ASP.NET-Webdiensten verwendeten Typen können von WCF als Datenverträge verarbeitet werden, was u. a. zu einer höheren Leistung der WCF-Anwendungen führt.

Sicherheit

Vermeiden Sie die Verwendung der von Internetinformationsdienste (IIS) bereitgestellten Authentifizierungsoptionen. Diese werden von WCF-Clients nicht unterstützt. Falls ein Dienst gesichert werden muss, verwenden Sie die von WCF bereitgestellten Optionen, da diese Optionen leistungsstärker sind und auf Standardprotokollen basieren.

Siehe auch

Konzepte

Vorbereitungen für Windows Communication Foundation: Einfachere Migration in der Zukunft