什么是WCF
Windows Communication Foundation (WCF) 是一個框架,用於生成面向服務的應用程序。它取代了較舊的進程間通信技術,例如 ASMX Web 服務、.NET 遠程處理、企業服務 (DCOM) 和 MSMQ。 WCF 將所有這些技術的功能匯集在一個統一的編程模型下,簡化了開發分散式應用程序的體驗。 使用 WCF,可以將數據作為異步消息從一個服務終結點發送到另一個服務終結點。 服務終結點可以是由 IIS 承載的持續可用的服務的一部分,也可以是應用程序中承載的服務。 終結點可以是從服務終結點請求數據的服務客戶端。 簡單消息可以是作為 XML 發送的單個字符或單個單詞,復雜消息可以是二進制數據流。
創建WCF服務
如果發現找不到wcf項目,這時你需要去安裝Visual Studio 的Windows Communication Foundation組件
1. 創建過程如下
2. 項目創建成功后,會自動生成的一些演示文件
IService1.cs

// 注意: 使用“重構”菜單上的“重命名”命令,可以同時更改代碼和配置文件中的接口名“IService1”。 [ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服務操作 } // 使用下面示例中說明的數據約定將復合類型添加到服務操作。 // 可以將 XSD 文件添加到項目中。在生成項目后,可以通過命名空間“WcfServiceDemo.ContractType”直接使用其中定義的數據類型。 [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; } } }
Service.cs

// 注意: 使用“重構”菜單上的“重命名”命令,可以同時更改代碼和配置文件中的類名“Service1”。 public class Service1 : IService1 { public string GetData(int value) { return string.Format("You entered: {0}", value); } public CompositeType GetDataUsingDataContract(CompositeType composite) { if (composite == null) { throw new ArgumentNullException("composite"); } if (composite.BoolValue) { composite.StringValue += "Suffix"; } return composite; } }
標注解釋
按 F5 運行該服務。 WCF 測試客戶端 窗體隨即出現並加載服務。
在“WCF 測試客戶端”窗體中,雙擊 IService1 下的 GetData() 方法。 此時會顯示 "工作" 選項卡。
在“請求”框中,選擇“值”字段,並鍵入 1314。
如上所示,我們的服務沒有問題,然后在瀏覽器輸入服務地址http://192.168.43.219/SchoolService(配置文件中的baseAddress)查看服務,我們可以點擊查看服務的wsdl文檔,wsdl詳細展示了服務的方法、數據類型、服務地址等信息。