가이 방식으로 MessageSession을 시작하는 방법과 더불어, SubscriptionClient
유형이있다 : -푸른 서비스 버스 - SubscriptionClient.AcceptMessageSession() SubscriptionClient.BeginAcceptMessageSession 대 () 애저 서비스 버스 네임 스페이스에서
MessageSession session = subscriptionClient.AcceptMessageSession(...);
이것은 동기 버전이며 MessageSession을 리턴합니다. 라이브러리는 비동기 버전 인 BeginAcceptMessageSession()도 제공합니다. 이 콜백은 콜백을 호출하고 IAsyncResult 및 전달할 상태 객체를 전달하기 때문에 나를 방해하고 있습니다. 제 경우에는 SubscriptionClient 인스턴스를 전달하므로 SubscriptionClient에서 EndAcceptMessageSession()을 호출 할 수 있습니다. BeginAcceptMessageSession()은 반환 유형이 void입니다.
BeginAcceptMessageSession()을 통해 허용되는 MessageSession에 어떻게 액세스합니까? 콜백의 결과 매개 변수로 돌아 오는 것은 EndAcceptMessageSession()을 통해 BeginAcceptMessageSession()을 종료하는 데 필요한 내 SubscriptionClient 인스턴스입니다.
MessageSession 참조를 찾을 수 없습니다. 이 문서는이 점에 도움이되지 않습니다. Google에서 검색 할 경우 검색 결과가 부족한 3 페이지 만 표시됩니다. 대부분의 검색 결과는 MSDN의 메소드 자체에 대한 온라인 설명입니다. AsyncManager.Parameters를 살펴보면 비어 있습니다.
BeginAcceptMessageSession()을 호출하여 내가 생성 한 MessageSession에 대한 참조를 얻을 수있는 방법을 아는 사람이 있습니까?
와우, 고맙습니다. EndAcceptMessageSession()!의 반환 유형을 알지 못했습니다!. 요즘 내 영웅 이잖아. 서비스 버스는 훌륭하지만 커뮤니티는 문서화 된 방법 설명을 덤프하는 것 이상을 필요로합니다! –
SubscriptionClient.BeginAcceptMessageSession()을 사용하고 MessageSession.BeginReceive()를 사용하려면 AcceptDone() 내에서 BeginReceive()를 호출 할 수 있습니까? 비동기 적으로 실행되지만 병렬로 실행되지 않도록하는 유일한 방법이라고 생각됩니다. –