WCF概括特点
1、WCF 重在配置,并且服务必须用管理员权限打开。
2、WCF调试方式:WCF只能通过调用WCF的程序,附加到进程的方式进行调试,即是托管
WCF服务程序编写步骤:
1新建类库 -添加contract 接口的类库,并在类库中新建interface,打上服务契约和操作契约
(2)添加Model 层类库 由于网络传输,必须保证对象可序列化
(3)实现接口
console program 作为WCF宿主程序:(用于托管WCF服务)
服务写好后,新建Console 程序托管服务,
第一步:引用ServiceModel.dll 和服务
第二步:代码配置和Host.Open和Host.Close
方式二: host编写和App.config配置,等同于第二步
(5)宿主程序配置app.config 中如下图配置
增加serviceModel节点
<system.serviceModel>
<services>
<!-- 注意: 服务名称必须与服务实现的配置名称相匹配。 -->
<service name="MyNamespace.MyServiceType" behaviorConfiguration="MyServiceTypeBehaviors" >
<!-- 添加下列终结点。 -->
<!-- 注意: 服务必须有一个 http 基址以便添加此终结点。 -->
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceTypeBehaviors" >
<!-- 将下列元素添加到服务行为配置中。 -->
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
WCF调试
使用Console program托管WCF 可以调试 WCF逻辑 Debug:附加到宿主程序上进行调试
第一步:打开Console program 开启服务
第二步:调试服务,再附加到第一步的host上(先F5,会附加到测试客户端,然后附加到Host)
第三步:调用方法,调试成功
原理:地址,协议,契约起到Web service的WSDL的作用
正式使用的时候采用Web site 寄宿WCF
空网站+ WCF文件 + 本地浏览