本地模拟Azure服务总线
我想在本地模拟Azure服务总线进行测试 源代码如下所示:本地模拟Azure服务总线,azure,azureservicebus,Azure,Azureservicebus,我想在本地模拟Azure服务总线进行测试 源代码如下所示: var client = new QueueClient("Endpoint=sb://host/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey="xxx", "myqueue"); await client.SendAsync(message); 消息将通过ServiceBu
var client = new QueueClient("Endpoint=sb://host/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey="xxx",
"myqueue");
await client.SendAsync(message);
消息将通过ServiceBusTrigger在AzureFunction中接收
我相信可以将端点更改为localhost,然后在localhost上建立一个侦听服务器来接收和转发消息。但是我怎么能做到呢
首先,Microsoft.Azure.ServiceBus
SDK是否在AMQP协议中发送消息?所以,我必须建立一个处理AMQP消息的服务
在搜索文档之后,服务总线似乎也支持REST方式来发送消息。我们可以在Microsoft.Azure.ServiceBus
SDK中这样做吗,这样我就可以轻松地构建一个http服务器来处理消息
这项任务确实需要一些想法。我强烈建议您围绕AZ服务总线构建自己的抽象,然后仅在接口级别将其与代码耦合(例如IMessageSender)。这不仅可以缓解嘲笑,还可以让ASB退出,比如RabbitMq、Azure队列等。感谢您的建议@StuartLC。我知道这是一种测试方法。但实际上,我们正在开发一个平台来模拟Azure进行本地集成测试。希望服务能够使用我们的模拟而不改变它们的代码,同时重置连接字符串是合理的。我试图通过建立一个服务来了解它是否可行。@south你最终找到了解决方案吗?@Purfakt实际上我在本地模拟了一个服务总线。可以使用AMQPNETLITE创建模拟服务总线。但是它的功能是有限的,需要付出很多努力。如果可能的话,我建议您使用一个接口,并像StuartLC上面所说的那样使用模拟客户端。