本篇属于WCF实践入门,由于博主本人水平有限,没有理论上的介绍,仅仅从其几种不同的宿主方式分别介绍WCF的使用。
WCF有多种宿主方式:1、自托管宿主,2、windows service宿主,3、IIS宿主,4、WAS宿主
本篇一一进行简要介绍(win7 + vs2012)。
一、自托管宿主
利用WCF提供的ServiceHost<T>提供的Open()和Close()方法。
- 新建WCF服务库
- 新建WCF宿主应用程序
1)新建一个解决方案,名称为WcfService1Study。新建一个WCF服务库如下图:
2)我们将接口和类名分别重命名IDataService和DataService(读者自便),简化其中代码如下(只是为了实验而已)
//IDataService.cs namespace WcfServiceLibrary { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。 [ServiceContract] public interface IDataService { [OperationContract] CompositeType GetData(); } // 使用下面示例中说明的数据约定将复合类型添加到服务操作。 // 可以将 XSD 文件添加到项目中。在生成项目后,可以通过命名空间“WcfServiceLibrary.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; } } } }