WCF中的会话创建

时间:2010-12-17 07:05:09

标签: wcf

我是WCF的新手,我的任务是在WCF中创建,维护会话

我的项目中有一个要求,它说的是我需要一个必须启用会话的服务(WCF)。多个客户端将联系上述服务并且服务必须提供所需的信息客户想要的。

例如:该服务将保存一个DOM对象,这里DOM表示一个数据库对象,它将说明员工信息。每个客户端都会从DOM对象请求不同的信息,而我们的服务有提供信息。每次客户端调用时,我们的服务都不应该转到数据库,因此我们需要在服务中实现会话管理(WCF)。

如果有人提供了一些想法,建议或示例代码来实现我的任务,那将会很有帮助......

...谢谢

1 个答案:

答案 0 :(得分:1)

首先,我要指出使用WCF会话通常是一个非常糟糕的主意。打开太多会话将消耗大量资源(例如内存和数据库连接)。您提到您还在会话中存储数据库对象 - 这也可能最终会伤害您,因为大多数数据库只允许有限数量的会话。

所有这一切,如果你真的需要使用会话,有一些信息可以在MSDN上进行配置。

您可以将绑定配置为使用会话,如下所示:

<wsHttpBinding>
    <binding name="wsHttpBinding">
      <reliableSession enabled="true" />
    </binding>
</wsHttpBinding>

然后,您可以使用SessionMode=SessionMode.Required

标记您的ServiceContract
    [ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", 
SessionMode=SessionMode.Required)]
    public interface IMyService
    {
        ...
    }