У меня есть некоторые проблемы с экземплярами службы WCF.
ChannelFactory<IMyInterface> factory = new ChannelFactory<IMyInterface>(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:8000"));
IMyInterface iFirst = firstFactory.CreateChannel();
iFirst.firstMethod();
IMyInterface iSecond = firstFactory.CreateChannel();
iSecond.secondMethod();
Работает нормально, но создает два экземпляра класса обслуживания на стороне сервера.InstanceContextMode
установлен на InstanceContextMode.PerSession
, и я бы хотел оставить его таким.Я нашел эту статью:
http://msdn.microsoft.com/en-us/magazine/cc163590.aspx#S4
В разделе Duplicating a Proxy
есть Рисунок 5 Дублирование прокси.Мне кажется, это идеальное решение, но IClientChannel
больше не содержит ResolveInstance()
метод.Есть ли другой способ создать два канала, подключенных к одному экземпляру службы, без установки InstanceContextMode
в InstanceContextMode.Single
?