【问题标题】:Session Creation in WCFWCF 中的会话创建
【发布时间】:2010-12-17 07:05:09
【问题描述】:

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

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

例如: 服务将持有一个 DOM 对象,这里的 DOM 表示一个数据库对象,其中包含 Employee 信息。每个客户端都会从 DOM 对象中请求不同的信息,而我们的服务有传递信息。我们的服务不应该每次客户端调用时都转到数据库,因此我们需要在服务中实现会话管理(WCF)。

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

谢谢...

【问题讨论】:

    标签: wcf


    【解决方案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
        {
            ...
        }
    

    【讨论】:

    • 感谢您的建议...我肯定会想到您所说的想法...如果您不介意您可以提供一个使用会话的示例应用程序吗??
    • 非常感谢 Sansom 先生...因为我是 WCF 的新手,所以我不知道再次怀疑它......我是否可以通过使用它来实现和维护我的项目中的会话单独的代码???或者我需要在服务器端或客户端做些什么??
    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2011-06-23
    • 2016-01-24
    • 2018-09-10
    相关资源
    最近更新 更多