这个问题几乎在标题中,但我会详细说明。
我有一个 Silverlight 应用程序,它充当稍微扩展的用户界面。
我的程序的主要部分将在服务器上运行以保持共享数据库的一致性。
这就是我的问题所在:两个调用 WCF 服务的客户端是否会各自在该服务中获得一个线程,或者他们会分别获得一个完整的 AppDomain 吗?
不同之处在于,如果是第一种情况,他们可以轻松共享数据库,但在第二种情况下,他们不能——据我所知。
编辑:这是因为数据库使用了身份映射模式 [Fowler],其中使用的对象保存在物理内存中(静态单例变量) - 多个 AppDomain 会搞砸。
(在问这个看似简单的问题之前,我问了我的大学老师并进行了相当多的搜索)