无法连接到 Azure 服务总线队列
Failure to connect to Azure Service bus queue
我正在尝试收听 azure 服务总线队列
但是在初始化到队列的连接时出现异常。
我试图寻找出路,但收效甚微。
请注意,我正在使用 .NETCore 2.1。
这是初始化连接的方式:
// Initialize the connection to Service Bus Queue
_queueClient = QueueClient.CreateFromConnectionString(_interswitchQueueConnectionString, _interswitchQueueName, ReceiveMode.ReceiveAndDelete);
这是异常:
System.TypeInitializationException: The type initializer for
'Microsoft.ServiceBus.Messaging.Constants' threw an exception. --->
System.TypeLoadException: Could not load type 'System.UriTemplate'
from assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'.
at Microsoft.ServiceBus.Messaging.Constants..cctor()
--- End of inner exception stack trace ---
at Microsoft.ServiceBus.ServiceBusConnectionStringBuilder..ctor()
at Microsoft.ServiceBus.Messaging.QueueClient.CreateFromConnectionString(String
connectionString, String path, ReceiveMode mode)
同样的初始化在使用 .net 框架时工作正常。
我怎样才能在 .NetCore 中做到这一点?
请帮忙
提前致谢
在 Dotnet Core 2.1 上你可以试试这个。
var queueClient = new QueueClient(connectionString, entityPath, ReceiveMode.ReceiveAndDelete);
希望对您有所帮助。
您也可以使用 MessagingFactory
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(connectionString);
queueClient = await factory.CreateMessageReceiverAsync(_entityPath, ReceiveMode.ReceiveAndDelete);
对于 .NET Core,您应该使用新的 .NET Standard Azure Service Bus 客户端,Microsoft.Azure.ServiceBus. The old client WindowsAzure.ServiceBus 是旧版客户端,仅适用于 Full Framework,不 建议往前走。
新客户端没有工厂的概念。您负责创建实体客户端 (QueueClient
, SubscriptionClient
, and TopicClient
) 和管理连接。
我正在尝试收听 azure 服务总线队列 但是在初始化到队列的连接时出现异常。 我试图寻找出路,但收效甚微。 请注意,我正在使用 .NETCore 2.1。 这是初始化连接的方式:
// Initialize the connection to Service Bus Queue
_queueClient = QueueClient.CreateFromConnectionString(_interswitchQueueConnectionString, _interswitchQueueName, ReceiveMode.ReceiveAndDelete);
这是异常:
System.TypeInitializationException: The type initializer for 'Microsoft.ServiceBus.Messaging.Constants' threw an exception. ---> System.TypeLoadException: Could not load type 'System.UriTemplate' from assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at Microsoft.ServiceBus.Messaging.Constants..cctor() --- End of inner exception stack trace --- at Microsoft.ServiceBus.ServiceBusConnectionStringBuilder..ctor() at Microsoft.ServiceBus.Messaging.QueueClient.CreateFromConnectionString(String connectionString, String path, ReceiveMode mode)
同样的初始化在使用 .net 框架时工作正常。 我怎样才能在 .NetCore 中做到这一点? 请帮忙 提前致谢
在 Dotnet Core 2.1 上你可以试试这个。
var queueClient = new QueueClient(connectionString, entityPath, ReceiveMode.ReceiveAndDelete);
希望对您有所帮助。
您也可以使用 MessagingFactory
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(connectionString);
queueClient = await factory.CreateMessageReceiverAsync(_entityPath, ReceiveMode.ReceiveAndDelete);
对于 .NET Core,您应该使用新的 .NET Standard Azure Service Bus 客户端,Microsoft.Azure.ServiceBus. The old client WindowsAzure.ServiceBus 是旧版客户端,仅适用于 Full Framework,不 建议往前走。
新客户端没有工厂的概念。您负责创建实体客户端 (QueueClient
, SubscriptionClient
, and TopicClient
) 和管理连接。