1

我目前正在处理 WCF - WSIT 集成任务。我将 WS-ReliableMessaging 与 WCF 和 ws2007HttpBinding 一起使用。

可靠会话设置正确,我正在使用 InstanceContextMode.PerSession 并且我的服务实例在一分钟不活动后被终止。

我唯一担心的是我不确定如何创建使用现有 OperationContext 的 SessionId 初始化的 WCF 代理。Visual Studio 生成的代理似乎不接受 SessionId 作为构造函数等。

即使我的代理客户端死亡并且我不得不重新创建它,我也希望能够使用 SessionId 重新连接到活动服务。

4

2 回答 2

1

据我所知,只有客户端和服务器都处于活动状态时,WCF 中的可靠会话才会存在。可靠会话在通道级别实现为 WS-ReliableMassaging,它提供传输级别的可靠性 - 这意味着它可以处理丢失的消息,以便交付、重新发送消息等 = 可靠性只是为了克服不可靠的传输协议,如 HTTP。

对于任何参与者都可能“死亡”或离线的场景,您必须使用消息传递(MS 世界中的 MSMQ)。在与 Java 世界集成时,您可能需要其他基于 JMS 的消息传递平台。

于 2011-03-22T13:28:05.473 回答
1

您可以使用持久服务

http://www.wcftutorial.net/How-to-Create-Durable-Service.aspx http://blogs.microsoft.co.il/blogs/egady/archive/2008/01/05/wcf-3-5 -durable-services.aspx

于 2011-03-23T05:53:52.800 回答