这个问题在标题中非常多,但我会详细说明。多个客户端调用WCF服务时,一个或多个AppDomains是否创建了服务器端?
我有一个Silverlight应用程序,充当一个稍微扩展的用户界面。
我的程序的主要部分将运行在服务器上以保持共享数据库的一致性。
这是我的问题来了:两个客户端调用WCF服务每个都获得该服务中的线程,或者他们会得到一个完整的AppDomain?
区别在于,如果第一种情况是他们可以轻松共享数据库,但在第二种情况下他们不能 - 据我了解。
编辑:这是因为数据库使用身份映射模式[福勒],其中使用的对象保存在物理内存(静态单身变量) - 多个AppDomains会搞砸了。
(我问我的大学老师并搜查了不少询问这之前,看似简单的问题)
这个问题可能有一些关系,但我没有设置多个appdomains开始:http://stackoverflow.com/questions/7984803/multiple-instances-of-service-across-appdomains – 2012-04-01 18:26:50
每个传入的请求将得到它自己的服务类的新实例来处理请求(在默认的每次调用场景中) - 但不是它自己的应用程序域,据我所知。因此,两个请求将是服务类 – 2012-04-01 18:42:13