c# - 服务总线 1.1 使用 WindowsAzure.ServiceBus dll 创建队列

标签 c# azure azureservicebus servicebus

我正在准备开发连接到 Azure 服务总线的应用程序。对于开发,我想使用服务总线 1.1。

我已经安装了本地 Service Bus 1.1,当我使用包 Service Bus.v1_1 版本连接时,它工作正常。 1.0.5

但由于我最终希望使用 Azure,我更喜欢使用 WindowsAzure Service Bus 包,据我所知,它应该与 Service Bus 1.1 一起使用。

但是当我想执行时:

namespaceManager.QueueExists(queueName)

我收到的WindowsAzure.ServiceBus ver 3.1.2包:

'System.ArgumentException' .... 远程服务器返回错误:(400) 错误请求。不支持查询字符串中的 api 版本。将其从 Uri 中删除或使用“2012-03,2012-08,2013-04,2013-07”之一。

向 Uri 添加 ?api_version=2013-07 没有帮助。

但是,将消息发送到本地 SB1.1 上存在的队列效果很好(使用 WindowsAzure.ServiceBys 3.1.2)。 因此它仅适用于与 NamespaceManager 的连接。

有人知道为什么它不起作用吗?

<小时/>

我用于测试的代码:

var cs ="Endpoint=sb://mylocalmachine/ServiceBusDefaultNamespace/;StsEndpoint=https://mylocalmachine:9355/ServiceBusDefaultNamespace/;RuntimePort=9354;ManagementPort=9355";
var queueName = "AAA";
var namespaceManager = NamespaceManager.CreateFromConnectionString(cs);
var messagingFactory = MessagingFactory.CreateFromConnectionString(cs);
var ver = namespaceManager.GetVersionInfo();

if (namespaceManager.QueueExists(queueName))
{
    namespaceManager.DeleteQueue(queueName);
}

namespaceManager.CreateQueue(queueName);

QueueClient client = messagingFactory.CreateQueueClient(queueName);
client.Send(new BrokeredMessage("Hello! " + DateTime.Now));


client = messagingFactory.CreateQueueClient(queueName, ReceiveMode.ReceiveAndDelete);
BrokeredMessage message = client.Receive();
if (message != null)
{
    Console.WriteLine(message.GetBody<string>());
}
Console.ReadKey();

最佳答案

据我所知,WindowsAzure.ServiceBus 包与本地 Windows 服务总线不兼容。我们坚持使用旧包。

我相信这些库对于大多数事情都是源兼容的,因此当您迁移到使用 Azure 服务总线而不是本地部署时,那么它应该像交换包并更改身份验证机制和连接字符串一样简单重新编译和测试。

关于c# - 服务总线 1.1 使用 WindowsAzure.ServiceBus dll 创建队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34767609/

相关文章:

azure - 应用程序见解时间戳 : what time it reflects?

azure - 如何使用 terraform 动态添加多个 IP 到 azure servicebus 防火墙

c# - 无法从 youtube 上传中提取视频

c# - Entity Framework 启用迁移

c# - 如何从 C# 中的存储过程中获取选定的值?

c# - 如何让datagridview在离开一行时自动保存记录

visual-studio-2010 - Windows Azure VM 角色部署问题 & 门户中缺少 'Beta Programs'

.net - Base64 编码替代下划线

c# - 将消息移至 azure servicebus 中的 'deadletter '

azure - 尝试通过主题/订阅接收 Azure 服务总线消息时出现序列化异常