1

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

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

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

4

3 回答 3

1

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

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

于 2013-10-05T20:13:29.333 回答
0

No WCF does not provide an InstanceContextMode mid-way between PerSession and Single.

To achieve the behavior you require you can use a static class or singleton.

于 2013-10-07T07:32:54.667 回答
0

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

于 2013-10-05T20:23:59.023 回答