Service Bus消息发送至Topic但未转发至Subscription问题求助
问题排查与修复
下面是你代码里导致无法接收消息的几个关键问题:
订阅路径拼写错误:
创建消息接收器时,路径里的subcriptions是拼写错误,正确的应该是subscriptions。Service Bus无法识别错误的订阅路径,导致接收器连接的是一个不存在的订阅,自然收不到消息。
错误代码:var receiver = await factory.CreateMessageReceiverAsync(topic name + "/subcriptions/" +subcriptionName);修正后:
var receiver = await factory.CreateMessageReceiverAsync(topicName + "/subscriptions/" + subscriptionName);变量名语法错误:
上述错误代码里的topic name是非法变量名(包含空格),应该是你定义的topicName变量,这会直接导致编译失败,程序无法正常执行。控制台输出语法错误:
Console.WriteLine的字符串未正确闭合双引号,且格式参数的分隔符位置错误,原代码把逗号写在了引号内部。这个错误同样会导致编译失败,程序根本运行不到收发消息的逻辑。
错误代码:Console.WriteLine("receive message - {0}, receivedMessage.MessageId);修正后:
Console.WriteLine("receive message - {0}", receivedMessage.MessageId);变量名拼写错误:
代码里的subcriptionName大概率是拼写错误,正确应为subscriptionName(少了一个s),需要确认变量定义是否和此处使用的名称一致。
另外,请确保connectionstring、topicName、subscriptionName变量都已正确赋值,且Azure Service Bus对应的Topic和Subscription确实已在后台创建完成。
内容的提问来源于stack exchange,提问作者user19124593
相关产品推荐
相关产品推荐

