同一个WCF服务的多个实例?

时间:2013-01-18 09:13:49

标签: wcf visual-studio-2012

我试图在Visual Studio 2012中运行相同WCF服务的多个实例。该服务需要是有状态的,因此我使用的是[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]。服务需要模仿服务器行为,因为无论哪个客户端连接到它们,它们都必须维护状态。

我该怎么做?

---编辑---

一个例子: 该服务有三个实例,名为Shop1,Shop2和Shop3。每个人都有自己的平衡作为“状态”。 Client1和Client2现在从Shop1购买东西,这涉及增加Shop1的余额。客户3从Shop2购买东西,增加了它的余额。

目的是Shop1,Shop2和Shop3托管在不同的机器上,但出于测试目的,我想在同一台机器上运行它们。

1 个答案:

答案 0 :(得分:0)

使用双向回调模型,您可以处理更多客户端

设置[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]并在静态属性中保存状态


var serviseHost1 = new ServiceHost(typeof(Shop));
serviseHost1.AddServiceEndpoint(typeof(Shop), binding, endpoint);
serviseHost1.Open();
var serviseHost2 = new ServiceHost(typeof(Shop));
serviseHost2.AddServiceEndpoint(typeof(Shop), binding, endpoint);
serviseHost2.Open();
相关问题