如何将来自 Azure 服务总线主题订阅的消息订阅到 Web api?
How to subscribe message from Azure service bus topic subscription to web api?
我们有多个网络api(微服务)。为了在这些微服务之间进行通信,我们使用 Azure 服务总线 Topic\Subscription。 webapi 控制器如何获取消息订阅,以便 api 可以处理消息并插入数据库。我不想使用任何天蓝色的功能。我要在我的网站上订阅消息api(直接微服务)。
您可以为该主题创建一个客户端来订阅消息并设置选项以在完成必要的过程后完成。
请找到下面的示例代码,您可以在其中阅读主题的订阅消息。
您可以使用 WindowsAzure.ServiceBus-Nuget 包
示例代码:
using Microsoft.ServiceBus.Messaging;
using Microsoft.ServiceBus;
var con = "your connection string for the topic";
var topic = "your topic name";
var subclient = SubscriptionClient.CreateFromConnectionString(con, topic, "yourSubscriptionName");
OnMessageOptions options = new OnMessageOptions();
options.AutoComplete = false;
client.OnMessage(message =>
{
Console.WriteLine("Message:" + message.GetBody<string>());
message.Complete();
}, options);
您可以将其放在单独的方法中,并在需要时使用。
要轮询,您可以创建一个网络作业,或者您可以放置触发网络的代码 api,以便它同时轮询消息。
我们有多个网络api(微服务)。为了在这些微服务之间进行通信,我们使用 Azure 服务总线 Topic\Subscription。 webapi 控制器如何获取消息订阅,以便 api 可以处理消息并插入数据库。我不想使用任何天蓝色的功能。我要在我的网站上订阅消息api(直接微服务)。
您可以为该主题创建一个客户端来订阅消息并设置选项以在完成必要的过程后完成。 请找到下面的示例代码,您可以在其中阅读主题的订阅消息。
您可以使用 WindowsAzure.ServiceBus-Nuget 包
示例代码:
using Microsoft.ServiceBus.Messaging;
using Microsoft.ServiceBus;
var con = "your connection string for the topic";
var topic = "your topic name";
var subclient = SubscriptionClient.CreateFromConnectionString(con, topic, "yourSubscriptionName");
OnMessageOptions options = new OnMessageOptions();
options.AutoComplete = false;
client.OnMessage(message =>
{
Console.WriteLine("Message:" + message.GetBody<string>());
message.Complete();
}, options);
您可以将其放在单独的方法中,并在需要时使用。 要轮询,您可以创建一个网络作业,或者您可以放置触发网络的代码 api,以便它同时轮询消息。