zoukankan      html  css  js  c++  java
  • 初学WCF需要注意的地方

    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)]来定义(注意:只能在没有返回值的方法上定义单程操作)。

    未完待续

  • 相关阅读:
    原创 C++应用程序在Windows下的编译、链接(四)动态链接
    IE浏览器 json异常
    Linux系统github使用
    Mysql in 排序
    转 php四种基础算法:冒泡,选择,插入和快速排序法
    转 mysql取今天,明天,工作日,周末,本周,下周,下月数据
    下载远程图片到本地
    转 PHP中SQL_CALC_FOUND_ROWS与FOUND_ROWS()和count()
    星级点评
    21个值得收藏的Javascript技巧
  • 原文地址:https://www.cnblogs.com/goxmpx/p/3166480.html
Copyright © 2011-2022 走看看