WCF分布操作-如何判断通道关闭并再次创建通道

本文详细解析WCF中的分布操作,包括分布操作的含义、如何使用OperationContract特性和SessionMode设置来实现分布操作。通过示例展示了启用IsTerminating属性导致的通道关闭问题,以及当通道关闭后,如何判断并重新创建通道以继续通信。
摘要由CSDN通过智能技术生成

分布操作含义解释

一个会话协定的操作有时会隐含了操作调用的顺序。有的操作不能被最先调用,而有的操作则必须被最后调用。

WCF实现分布操作的技术

WCF允许协定设计者指定协定操作为启动会话的操作,还是终止会话的操作,方法是使用 OperationContract 特性的 IsInitiating 和 IsTerminating 属性,还有一个前提条件是,必须在相应的服务协定上添加 SessionMode 设置为 Required。

例子

服务协定定义如下:

using System.ServiceModel;

namespace wcfserviceTest
{
    [ServiceContract(SessionMode = SessionMode.Required)]
    public interface IOrderService
    {
        [OperationContract(IsTerminating = true)]
        string AcceptOrder(PartPlan planInstance);
    }
}

客户端调用如下:

        private void buttonSave_Click(object sender, Ev
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值