没有此类主机-大众运输-Azure服务总线

问题描述 投票:0回答:1

这可能是非常基本的,但是由于某种原因,我无法使其正常工作。

我正在使用大众运输Azure Service Bus软件包v 5.5.6连接到Azure上的服务总线队列。

跟随Mass Transit documentation,这是我尝试创建并启动总线控件的方式:

            this.bus = Bus.Factory.CreateUsingAzureServiceBus(sbc =>
            {

                var host = sbc.Host(newUri("sb://<my-servicebus-namespace>.servicebus.windows.net/"), h =>
                {
                    h.SharedAccessSignature(s =>
                    {
                        s.KeyName = "<key-name>";
                        s.SharedAccessKey = "<key>"; 
                        s.TokenTimeToLive = TimeSpan.FromDays(1);
                        s.TokenScope = TokenScope.Namespace;                       
                    });

                 });
            });

            await bus.StartAsync(); 

但是不断抛出“未知此类主机”。

位于Microsoft.Azure.ServiceBus.Management.ManagementClient.SendHttpRequest(HttpRequestMessage request,CancellationToken cancellingToken)在C:\ ApplicationSourceCode \ azure-sdk-for-net \ sdk \ servicebus \ Microsoft.Azure.ServiceBus \ src \ Management \ ManagementClient .cs:第1219行

我什至尝试过:"sb://<my-servicebus-namespace>.servicebus.windows.net/<my-queue-name>/"作为主持人uri

我正在使用Azure服务总线标准层。

使用Microsot.Azure.ServiceBus中的QueueClient可以正常工作。

我尝试对服务总线uri进行ping操作,并且它确实存在。

我想念什么?

c# azure azureservicebus masstransit azure-servicebus-queues
1个回答
0
投票

它应该可以工作,不确定为什么不可以。您可以更改它以使用连接字符串(从Azure门户复制它)并将其作为字符串传递给Host方法:

cfg.Host(connectionString);

连接字符串应包括主机,访问密钥等,这些字符串已解析并用于配置主机。 MassTransit使用相同的队列客户端,因此我不确定为什么它对您不起作用。除非您不在与队列客户端相同的上下文中运行总线,例如在防火墙后面或不传播DNS的东西。

© www.soinside.com 2019 - 2024. All rights reserved.