三、WCF 基本编程(1):设计、实现服务

系列索引,请查看此

 

一、设计服务协定

   

服务协定:指定终结点与外界通信的内容。更具体地说,它是有关一组特定消息的声明,这些消息被组织成基本消息交换模式 (MEP),如请求/答复、单向和双工 。也就是说,它定义了请求-答复协定指定返回答复的方法。必须根据此协定的条款发送答复并与请求相关联。即使该方法不返回任何答复。

1. 创建单向协定

  单向:客户端调用 Windows Communication Foundation (WCF) 服务上的操作但不期待答复。例如,可以使用这种类型的协定将通知发布给许多订户。

  我们之前的代码若不修改:

  

 // Step7: Create the method declaration for the contract.
        [OperationContract(IsOneWay = true)]
        double Add(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        double Subtract(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        double Multiply(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        double Divide(double n1, double n2);

 

将出现:


  

单向协定不得有输出参数(ref out 返回值)。

所以,意向的代码应是这样的:

  [OperationContract(IsOneWay = true)]
        void Add(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        void Subtract(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        void Multiply(double n1, double n2);

        [OperationContract(IsOneWay = true)]
        void Divide(double n1, double n2);

 

2. 创建双向协定

  双向:可使得客户端和服务器可以独立地相互通信。这样做可允许服务器对客户端进行单向呼叫,而客户端可以将这些呼叫视为事件。

  之前的例子,就是双向的。即客户端能得到回复。

 

3.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值