WCF : WCF 공감 서비스에 대한 새로운 연결을 감지하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2442004

문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top