在 Azure 服务总线命名空间中,有一种SubscriptionClient
类型,它具有以这种方式启动 MessageSession 的方法:-
MessageSession session = subscriptionClient.AcceptMessageSession(...);
这是同步版本,它返回一个 MessageSession。该库还提供了一个异步版本,BeginAcceptMessageSession()。这个让我很吃惊,因为它调用了一个回调,传入一个 IAsyncResult 和你希望传递的任何状态对象。在我的例子中,我传递了 SubscriptionClient 实例,以便我可以在 SubscriptionClient 上调用 EndAcceptMessageSession()。BeginAcceptMessageSession() 的返回类型为 void。
如何访问通过 BeginAcceptMessageSession() 接受的 MessageSession?我在回调的结果参数中得到的只是我的 SubscriptionClient 实例,我需要它来通过 EndAcceptMessageSession() 终止 BeginAcceptMessageSession()。
MessageSession 引用无处可寻。该文档在这方面没有帮助。在 Google 上搜索仅显示很少的 3 页搜索结果,其中大部分只是来自 MSDN 的方法本身的在线描述。我查看了 AsyncManager.Parameters ,它也是空的。
有谁知道应该如何调用 BeginAcceptMessageSession() 以便我可以获得对由此创建的 MessageSession 的引用?