2011-12-14 3 views
2

WCF 서비스 인스턴스에 몇 가지 문제가 있습니다.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(); 

잘 작동하지만 서버 측에 서비스 클래스의 두 인스턴스를 만듭니다. InstanceContextModeInstanceContextMode.PerSession으로 설정되어 있으며 계속 유지하려고합니다. 섹션 Duplicating a Proxy에서

http://msdn.microsoft.com/en-us/magazine/cc163590.aspx#S4

는 프록시를 복제 그림 5 :이 기사를 발견했다. 나는 완벽한 해결책 인 것처럼 보이지만 IClientChannel은 더 이상 ResolveInstance() 방법을 포함하지 않는다. InstanceContextModeInstanceContextMode.Single으로 설정하지 않고 하나의 서비스 인스턴스에 연결된 두 개의 채널을 만드는 다른 방법이 있습니까?

+0

첫 번째 질문을 끝내시겠습니까? http://stackoverflow.com/questions/8504059/wcf-multiple-channels-for-one-serivce-instance –

답변

1

IClientChannel.ResolveInstance 메서드가 새로운 확장 지점 인 System.ServiceModel.Dispatcher.IInstanceContextProvider 인터페이스로 대체되었습니다.

여기에 변경 내용이 설명되어 있습니다. http://blogs.msdn.com/b/mahjayar/archive/2006/07/08/660176.aspx - 아마도 당신이 원하는 인터페이스를 구현할 수 있습니다.

관련 문제