Yur*_*hov 1 c# azureservicebus .net-standard
我正在尝试用 .NET Standard Microsoft.Azure.ServiceBus 替换 .NET Framework NuGet 包 WindowsAzure.ServiceBus,但我遇到了这个问题。如何为服务总线主题订阅创建 MessageReceiver 的实例?我可以使用以下代码为队列创建它:
var receiver = new MessageReceiver(connectionString, queueName);
var bytes = receiver.ReceiveAsync().Result.Body;
string s = Encoding.UTF8.GetString(bytes);
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)
但 MessageReceiver 没有用于从服务总线主题订阅获取数据的构造函数。
我在 Microsoft.Azure.ServiceBus 源代码中找到了答案。原来,EntityNameHelper 类中有静态函数可以生成消息传递实体路径。例如,对于订阅,它看起来像
EntityNameHelper.FormatSubscriptionPath(topicName, subscriptionName)
Run Code Online (Sandbox Code Playgroud)
因此,完整的 MessageReceiver 初始化代码如下所示:
string path = EntityNameHelper.FormatSubscriptionPath(topicName, subscriptionName);
var receiver = new MessageReceiver(connectionString, path);
var bytes = receiver.ReceiveAsync().Result.Body;
string s = Encoding.UTF8.GetString(bytes);
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1862 次 |
| 最近记录: |