WCF : WCF 공감 서비스에 대한 새로운 연결을 감지하는 방법은 무엇입니까?
-
19-09-2019 - |
문제
InstanceContextMode가 공감으로 설정된 자체 주최 WCF 서비스가 있습니다.
호스트 애플리케이션에서 서비스에 대한 새로운 클라이언트 연결 (세션)을 어떻게 감지하고 해당 새로운 세션 컨텍스트를 사용하여 이벤트를 통해 내 서비스를 관찰 할 수 있습니까?
같은 것 :
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class MyService : IMyService {
public event EventHandler ClientRegistered;
public event EventHandler FileUploaded;
}
그리고 호스트 응용 프로그램에서 할 수 있습니다.
ServiceHost svc = new ServiceHost(typeof(MyService));
svc.Open();
// something like:
svc.NewSession += new EventHandler(...)
//...
public void SessionHandler(InstanceContext SessionContext) {
MySessionHandler NewSessionHandler = new MySessionHandler(SessionContext);
// From MySessionHandler I handle the service's events (FileUploaded, ClientRegistered)
// for this session and notify the UI of any changes.
NewSessionHandler.Handle();
}
해결책
서비스 계약에서 ISINITIATION을 사용할 수 있습니다
[OperationContract(IsInitiating = true)]
void FirstMethod();
다음 링크를 참조하십시오.
http://social.msdn.microsoft.com/forums/en-us/wcf/thread/8137553a-8657-475e-b9ca-5914d9c9d57a
제휴하지 않습니다 StackOverflow