1.WCF的元数据发布有两种方式:

a.HTTP-GET方式发布数据:让客户端使用HTTP-GET方式来获取数据是比较常见的方式。所谓HTTP—GET方式,是指当客户端发送一个HTTP-GET请求时,宿主将把元数据信息包含在HTTP的返回包中返回给客户端。在 配置文件中设定,特别要注意的地方,如果使用的是net.tcp方式必须把httpGetEnabled的值设定为false,否则出出现异常。

<behaviors>
   <serviceBehaviors>
    <behavior name="notifyBehavior">
     <serviceMetadata httpGetEnabled="true"/>
     <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
   </serviceBehaviors>
  </behaviors>

b.MEX终结点方式发布数据:除了通过HTTP—GET方式外,还可以通过MEX终结点方式发布元数据。他包含终结点的三要素:ABC(地址、绑定、契约)。WCF提供了MEX终结点的契约定义:IMetdataExchange接口以及该服务契约的实现。IMetdataExchange接口,在配置文件中设定如下:

<endpoint address="net.tcp://localhost:8123/NotifySampleFileInfoDataIsChanged/mex" binding="mexTcpBinding"
    contract="IMetadataExchange" />

其中使用Mex节点提供了基于不同通信协议的专门绑定,如:mexTcpBinding、mexNamedPipeBinding、mexHttpBinding等。

2.在服务契约中定义“单程”操作

默认情况下,服务契约中的操作是“请求-响应”,只有使用MSMQ协议和P2P协议进行通信的绑定不支持“请求-响应”操作,其他都可以。设定OperationContract的IsOneWay属性来定义单程操作,[OperationContract(IsOneWay=true)]来定义(注意:只能在没有返回值的方法上定义单程操作)。

未完待续

最新文章

  1. 《JS实现复制内容到剪贴板功能,可兼容所有PC浏览器,不兼容手机端》
  2. python 函数式编程
  3. [iOS]技巧集锦:UICollectionView内容下沉64像素原因和解决方案
  4. Java之设计模式详解 (转)
  5. gulp常用插件
  6. [Linux] 获得系统位数
  7. Android内存进程管理机制
  8. [python学习笔记]Day3
  9. javascript-this,call,apply,bind简述3
  10. 【转载】kafka的工作原理
  11. H5移动前端完美布局之padding
  12. Android开发UI之给ImageView添加蒙版
  13. HDU-1428(记忆化搜索)
  14. 【转自知乎】:localhost、127.0.0.1 和 本机IP 三者的区别?
  15. AnnotationTransactionAttributeSource is only available on Java 1.5 and higher
  16. centos 7 查询mysql 安装 运行位置
  17. java基础 (四)之集合
  18. Mysql临时文件目录控制
  19. JavaScript实战总结
  20. pyqt笔记1模块 信号和插槽

热门文章

  1. MAC 文件加密
  2. BZOJ5105: [CodePlus2017]晨跑
  3. PasswordHelper 对user对象的password进行加密重设
  4. 之前写的收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等
  5. Linux 桌面的 Dock 类程序
  6. DedeCMS列表页隔行/多行随意换色
  7. react入门安装
  8. route---设置Linux内核中的网络路由表
  9. 一个Web报表项目的性能分析和优化实践(五):重构有助于性能优化么?
  10. C#加减乘除