我想使用每个会话合同制作一个wcf服务。但我希望每个会话的所有实例都有一个单一对象,所有每个会话实例都有一个acsess。
如果我不清楚,我想为每个客户端创建一个单独的服务实例,但是所有客户端都可以访问一个separete公共内存。
我可以在服务类中使用静态变量来实现这一点,但在wcf中是不是有另一种结构方式?
答案 0 :(得分:1)
您可以使用System.Runtime.Caching类来实现此目的。默认内存缓存的范围限定为进程级别,因此它应该执行您需要的操作。
答案 1 :(得分:0)
我认为您可以创建自己的服务主机工厂,以某种方式(例如Jason在Memory Cash中建议)存储您对“单个对象”服务的引用,并将参考您的“单个”创建新的服务主机对象“
答案 2 :(得分:0)
没有WCF在PerSession和Single之间不提供InstanceContextMode中途。
要实现您需要的行为,您可以使用静态类或singleton。