【问题标题】:create one single object when using per session contract使用每个会话合约时创建一个对象
【发布时间】:2013-10-07 15:32:54
【问题描述】:

我想使用每个会话合同制作 wcf 服务。但我希望每个会话的所有实例都有一个对象,所有每个会话实例都可以访问它。

如果我不清楚,我想为每个客户端创建一个单独的服务实例,但它们都可以访问一个单独的公共内存。

我可以在服务类中使用静态变量来实现这一点,但是在 wcf 中没有另一种方法吗?

【问题讨论】:

  • 呃...使用单例?

标签: c# wcf


【解决方案1】:

您可以使用 System.Runtime.Caching 类来实现这一点。默认内存缓存的范围是进程级别,因此它应该满足您的需求。

http://msdn.microsoft.com/en-us/library/dd997357.aspx

【讨论】:

    【解决方案2】:

    我认为您可以创建自己的服务主机工厂,它会以某种方式(例如,像 Jason 在 Memory Cash 中建议的那样)存储您对“单一对象”服务的引用,并参考您的“单一对象”服务创建新的服务主机对象”

    【讨论】:

      【解决方案3】:

      No WCF 不提供介于 PerSession 和 Single 之间的 InstanceContextMode

      要实现您需要的行为,您可以使用静态类或singleton

      【讨论】:

        猜你喜欢
        • 2011-10-12
        • 2020-10-24
        • 1970-01-01
        • 1970-01-01
        • 2014-04-25
        • 2014-09-02
        • 1970-01-01
        • 1970-01-01
        • 2016-10-08
        相关资源
        最近更新 更多