Wcf隔离的实例

时间:2009-11-27 13:18:46

标签: wcf c#-3.0

我是Wcf的新手并尝试创建我的第一个Wcf服务。添加了具有非托管代码并进行文件操作的类(新程序集)。服务行为设置如下

InstanceContextMode = InstanceContextMode.Single

ConcurrencyMode = ConcurrencyMode.Single

当访问服务是单一模式时,将创建新的文件操作类。我注意到,如果文件操作类失败(内存泄漏或严重错误),主机的所有新连接都会受到先前连接的影响。

是否可以创建在客户端连接关闭后完全隔离并完全销毁的Wcf实例?

的问候, 托马斯

1 个答案:

答案 0 :(得分:2)

是的,这是首选模式 - 它被称为“每次通话”:

  

InstanceContextMode =   InstanceContextMode.PerCall

     

ConcurrencyMode =   ConcurrencyMode.Single

这样,进入您的WCF服务的每个请求都将获得它自己的,独立的,孤立的服务类实例,该实例将处理该请求然后被处置。

这应该可以为您提供最大的性能,并隔离彼此的请求。