Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 重新实现可靠会话_.net_Wcf - Fatal编程技术网

.net 重新实现可靠会话

.net 重新实现可靠会话,.net,wcf,.net,Wcf,我想使用WCF管道来处理一些自定义格式(不是XML/SOAP)的请求,所以我必须重新实现一些标准的东西。另外,我需要支持会话 我对消息编码器和格式化程序没有问题,但会话有问题: y服务合同用属性标记 [ServiceContract( SessionMode = SessionMode.Required)] [ServiceBehavior( ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode

我想使用WCF管道来处理一些自定义格式(不是XML/SOAP)的请求,所以我必须重新实现一些标准的东西。另外,我需要支持会话

我对消息编码器和格式化程序没有问题,但会话有问题:

y服务合同用属性标记

[ServiceContract(
    SessionMode = SessionMode.Required)]
[ServiceBehavior(
    ConcurrencyMode = ConcurrencyMode.Multiple,
    InstanceContextMode = InstanceContextMode.PerSession)]
实现用属性标记

[ServiceContract(
    SessionMode = SessionMode.Required)]
[ServiceBehavior(
    ConcurrencyMode = ConcurrencyMode.Multiple,
    InstanceContextMode = InstanceContextMode.PerSession)]
我有BindingElement cass的子类,它重写了CanBuildChannelListener和BuildChannelListener方法。后者返回IReplySessionChannel的实现

一切似乎都正常,调用了方法,创建了对象,但所有客户端只有一个会话。只有一个会话,即使我试图从不同的PC访问我的服务


所以问题是,如何正确地重新实现可靠会话?

回答我自己。正确的IReplySessionChannel实现相当复杂。有关提示,请访问

(HutpCooKeSeWindows Windows通信基础示例)