我有 2 个合同托管在两个服务主机中我需要在第一个合同中有一个单例对象,因此当另一个服务主机尝试从该类创建一个对象时,它只会从第一个服务主机检索相同的对象,
这可能意味着我需要找到访问服务主机并从中获取对象而不是创建一个新的对象.. 有什么想法吗?
提前致谢
我有 2 个合同托管在两个服务主机中我需要在第一个合同中有一个单例对象,因此当另一个服务主机尝试从该类创建一个对象时,它只会从第一个服务主机检索相同的对象,
这可能意味着我需要找到访问服务主机并从中获取对象而不是创建一个新的对象.. 有什么想法吗?
提前致谢
所以,我认为您可以自己创建服务类的实例,然后将此实例传递给两个服务主机。不过,我还没有对此进行深入测试。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class Calc: ICalc
{
}
var calc = new Calc();
var h1 = new ServiceHost(calc, baseAddress1);
var h2 = new ServiceHost(calc, baseAddress2);