讓你為之不解WCF契約應用實例分析
作者:佚名
文章主要演示了WCF契約(Contract)的應用實例還有一個客戶端和WCF服務通信的過程圖,希望大家看了會有幫助。
之前的文章也都介紹了WCF相關的一些基本概念、特性和框架模型,現在我們來具體實現一個WCF契約的應用實例。讓大家理論結合實現的操作一下,客戶端和WCF服務通信的過程如圖:
#T#客戶端通過代理調用WCF服務,代理通過服務地址找到特定的服務,調用執行特定的服務方法。WCF契約(Contract)定義實現的代碼包括服務契約IWCFService、操作契約OperationContract、和數據契約DataContract。具體WCF契約代碼:
- Code
- //ServiceContract屬性以及Indigo使用的所有其他屬性均在System.ServiceModel命名空間中定義,
- //因此本例開頭使用using語句來引用該命名空間。
- namespaceWCFService
- {
- //1.服務契約
- [ServiceContract(Namespace="http://www.cnblogs.com/frank_xl/")]
- publicinterfaceIWCFService
- {
- //操作契約
- [OperationContract]
- stringSayHello(stringname);
- //操作契約
- [OperationContract]
- stringSayHelloToUser(Useruser);
- }
- //2.服務類,集成接口。實現契約
- publicclassWCFService:IWCFService
- {
- //實現接口定義的方法
- publicstringSayHello(stringname)
- {
- Console.WriteLine("Hello!{0},Usingstring",name);
- return"Hello!"+name;
- }
- //實現接口定義的方法
- publicstringSayHelloToUser(Useruser)
- {
- Console.WriteLine("Hello!{0}{1},UsingDataContract",user.FirstName,user.LastName);
- return"Hello!"+user.FirstName+""+user.LastName;
- }
- }
- //3.數據契約//序列化為XML,作為元數據封裝到服務里
- [DataContract]
- publicstructUser
- {
- [DataMember]
- publicstringFirstName;
- [DataMember]
- publicstringLastName;
- }
- }
責任編輯:田樹
來源:
博客