Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地模拟Azure服务总线_Azure_Azureservicebus - Fatal编程技术网

本地模拟Azure服务总线

本地模拟Azure服务总线,azure,azureservicebus,Azure,Azureservicebus,我想在本地模拟Azure服务总线进行测试 源代码如下所示: var client = new QueueClient("Endpoint=sb://host/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey="xxx", "myqueue"); await client.SendAsync(message); 消息将通过ServiceBu

我想在本地模拟Azure服务总线进行测试

源代码如下所示:

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上面所说的那样使用模拟客户端。