重新实施可靠的会话

时间:2012-04-02 12:08:22

标签: .net wcf

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

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

服务合同标有属性

[ServiceContract(
    SessionMode = SessionMode.Required)]

实施标有属性

[ServiceBehavior(
    ConcurrencyMode = ConcurrencyMode.Multiple,
    InstanceContextMode = InstanceContextMode.PerSession)]

我有BindingElement cass的子类,它覆盖了CanBuildChannelListener和BuildChannelListener方法。 Latter返回IReplySessionChannel的实现。

一切似乎都有效,方法被调用,对象被创建,但是所有客户只有一个会话。即使我尝试从不同的PC访问我的服务,也只有一个会话。

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

1 个答案:

答案 0 :(得分:1)

回答自己。正确的IReplySessionChannel实现非常复杂。提示可以在

找到

http://msdn.microsoft.com/en-us/library/ms751405.aspx (HttpCookieSession Windows Communication Foundation Sample)