【发布时间】:2011-02-22 17:28:26
【问题描述】:
我有以下问题。在 Windows 服务中托管了一个 WCF 服务,如下所示:
sHost = new ServiceHost(typeof(DataService));
_thread = new Thread(new ThreadStart(sHost.Open));
_thread.Start();
其中 DataService 是解决方案中的 WCF 服务合同。
WCF 服务下面的几个层是单独程序集中的缓存。但是,每次建立到 WCF 服务的新连接/代理时,都会创建一个新的服务实例。这会导致在 DAL 中创建一个新的缓存实例。所以我想做的是拥有 WCF 服务,因此堆栈中的所有类都只实例化一次(由于多重性要求有一些例外)。因此,应该实例化 WCF 服务并侦听新连接,而不是每次建立新连接时都实例化 DataService。
我希望这是有道理的。我该怎么做?
非常感谢, 河豚
【问题讨论】: