zoukankan      html  css  js  c++  java
  • WCF的基本编程 设计服务协定 如何:创建请求答复协定

     

    本主题演示了创建使用请求-答复协定的方法所需的基本步骤。这些方法调用 Windows Communication Foundation (WCF) 服务上的操作并期待答复。必须根据此协定的条款发送答复并与请求相关联。即使相关方法返回的是 void,基础结构也将创建并发送一条空消息,以向调用方指示该方法已返回内容。取消创建和调度答复消息的唯一方法是对操作使用单向协定。

    有关 如何指定操作协定的更多信息,请参见 OperationContractAttribute 类,尤其是 IsOneWay 属性。

    有关 创建用于双工协定的客户端应用程序的更多信息,请参见如何:使用单向和请求-答复协定访问 WCF 服务

    创建请求-答复协定

    1. 通过将 ServiceContractAttribute 类应用到定义服务将要实现的方法的接口,创建服务协定。

    2. 通过将 OperationContractAttribute 类应用到相应的方法,指示客户端可以调用接口中的哪些方法。

    3. IsOneWay 属性的值指示操作是否返回答复消息。如果操作有一个请求-答复协定,则将此属性设置为 false。如果操作有一个单向协定,则将此属性设置为 true。默认情况下,所有使用 OperationContractAttribute 类的操作都满足请求-答复协定,原因是默认情况下 IsOneWay 属性为 false。因此,将 attribute 属性的值为 false 是可选的。

    示例

    下面的示例为提供 AddSubtract 方法的计算器服务定义一个协定。通过使用此协定,客户端可调用 AddSubtract 方法,并分别等待返回和与差。Multiply 方法不是协定的一部分,因为它没有通过 OperationContractAttribute 类进行标记,因此不可以由客户端访问。

    using System.ServiceModel;
                [ServiceContract]
                public interface ICalculator
                {
                [OperationContract]
                // It would be equivalent to write explicitly:
                // [OperationContract(IsOneWay=false)]
                int Add(int a, int b);
                [OperationContract]
                int Subtract(int a, int b);
                int Multiply(int a, int b)
                }
    • 通过使用 ServiceContractAttribute 类标记服务协定接口并使用 OperationContractAttribute 类标记服务协定接口的方法,可以在部署服务之后,自动生成使用 Web 服务描述语言 (WSDL) 的服务协定定义、客户端协定和代码。
    • 一旦将服务作为标准 WSDL 文档(用于指定操作以及各自的输入和输出)进行部署,就可以访问 WCF 服务协定的外部可见定义。通过将 ?wsdl 查询追加到服务的 HTTP 基址,并让浏览器指向生成的统一资源标识符 (URI),可显示 WSDL。
  • 相关阅读:
    HTTP协议【详解】——经典面试题
    原生JS的地区二级联动,很好理解的逻辑
    js操作字符串的常用方法
    移除input框type="number"在部分浏览器的默认上下按钮
    atom
    解决gitHub下载速度慢的问题
    ATOM常用插件推荐
    脚踝扭伤肿了怎么办
    这才是真正的电子科大
    月入 7000,怎么存钱?
  • 原文地址:https://www.cnblogs.com/tomkillua/p/1330954.html
Copyright © 2011-2022 走看看