07.12.2009, 18:34 Uhr

Konfigurationsvereinfachungen bei WCF 4.0

Die kommende Version 4.0 des .NET Framework bringt auch für die Windows Communication Foundation (WCF) einige Änderungen mit sich. Im Vergleich zur Workflow Foundation 4.0 fallen die Änderungen im WCF-Stack nicht so dramatisch aus. Alles was bisher funktioniert hat, wird auch weiterhin funktionieren. Es gibt allerdings einige Neuigkeiten, die Entwicklern das Leben mit der WCF in manchen Szenarien in der Tat leichter machen werden.
von Damir DobricWCF-Entwickler dürften sich einig sein, dass die WCF-Konfiguration komplex und nicht besonders intuitiv ist. Ohne falsche Hoffnungen zu wecken, daran wird sich in der WCF-Welt in Zukunft nichts Grundlegendes ändern. Es gibt allerdings Neuerungen, die zu Vereinfachungen führen werden und genau um diese Neuerungen soll es in diesem Artikel gehen.Listing 1 zeigt einen Service mit dem Namen "Service1". Es enthält einen Service- und einen Data-Contract. Die dazugehörige WCF 3.5-Konfiguration ist in Listing 2 zu sehen. Die Konfiguration enthält ein ServiceElement mit einem Endpoint. Das ServiceElement referenziert ein sog. ServiceBehavior-Element, das das Verhalten des Service festlegt. Darüber hinaus gibt es ein Pflicht-Element mit dem Namen Endpoint, das eine Adresse, ein Binding und einen Contract (manchmal ABC genannt) festlegt. Das ist beinahe die einfachste Konfiguration, die es bei WCF 3.5 geben kann.Listing 1: Sample Service- und Data-ContractsusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem.ServiceModel; usingSystem.Text; namespaceSimpleConfigSample { [ServiceContract]public interface IService1 { [OperationContract] string GetData(int value); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); } [DataContract] public class CompositeType{bool boolValue = true;string stringValue = "Hello "; [DataMember] public bool BoolValue {get { return boolValue; } set { boolValue = value; } } [DataMember] public string StringValue { get { return stringValue; } set { stringValue = value; } } } Listing 2: WCF 3.5 Beispiel Konfiguration<?xmlversion="1.0"encoding="utf-8"?>behaviorConfiguration="WcfServiceLibrary1.Service1Behavior">


Das könnte Sie auch interessieren