1

之前的帖子中,一位受访者说使用 wsHttpBinding 使用了会话。由于我在群集 IIS 环境中工作,我应该禁用它吗?据我所知,会话在集群中不起作用。

如果我需要禁用它,我该怎么做?

4

1 回答 1

5

那可能是我 :-) 默认情况下,您的服务和使用的绑定将确定会话是否起作用。

如果您不执行任何操作并使用 wsHttpBinding,您将拥有一个会话。如果你想避免这种情况,你应该:

  • 在适当的情况下切换到另一个协议/绑定
  • 使用 SessionMode 属性装饰您的服务合同

如果你想停止使用会话的服务,你可以这样做:

[ServiceContract(Namespace="....", SessionMode=SessionMode.NotAllowed)]
interface IYourSession
{
....
}

您可以使用适当的实例上下文模式属性装饰您的服务类:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
class YourService : IYourService
{
  ....
}

有了这个,您应该非常安全,并且不会进行任何会话。

马克

于 2009-09-09T13:37:36.010 回答