在 DOT NET 6 中集成 Azure 服务总线

Integrating Azure Service Bus in DOT NET 6

我正在尝试在 DOTNET 6 中集成 Azure 服务总线 (Consumer/Subscriber)。 但是,它不起作用以下是代码

builder.Services.AddServiceBusNotifications(builder.Configuration);
builder.Services.AddScoped<NewUserCreatedEventHandler>();

var app = builder.Build();
ConfigureServiceBus(app);

static void ConfigureServiceBus(IApplicationBuilder applicationBuilder)
{
    var eventBus = applicationBuilder.ApplicationServices.GetRequiredService<IEventBus>();
    eventBus.Subscribe<NewUserCreatedEvent, NewUserCreatedEventHandler>();
}

但我无法从 Azure 服务总线主题获取消息,同样适用于 DOTNET 5 有没有人对此有任何想法。

But I'm not able to get the messages from Azure Service Bus Topic, the same was working fine with DOTNET 5

我们已尝试使用 .net6 集成 Azure 服务总线,它可以完美地在我们端发送和接收来自服务总线的消息。

  • GitHub 下载了使用 ASP.NET 5 的基本示例代码,我们将其升级到 .net 6 并下载了以下 nuget packages Microsoft.Azure.ServiceBus 最新版本版本 .

.csproj文件

<Project Sdk="Microsoft.NET.Sdk.Web">

  <ItemGroup>
    <ProjectReference Include="..\SampleShared\SampleShared.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.ServiceBus" Version="5.2.0" />
  </ItemGroup>

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

</Project>

注意:- 确保你已经更新了所有的版本和包sender/Receiver/Sample shared 个项目。

  • 在门户中创建了 Azure 服务总线并在此 .已从 servicebus 命名空间 复制 连接字符串 并在 sender/receiver 中提供这些字符串。

注意:- 确保从 Azure 服务总线 > 共享访问签名 提供正确的连接字符串。否则 404 如果我们提供队列连接字符串

将发生错误
  • 在发送方和接收方中提供连接字符串后,转到发送方项目路径并构建 运行 使用 dotnet build & dotnet run 的应用程序:-

提供要在接收方中显示的消息详细信息

转到接收器项目和 运行 项目一旦构建完成然后 运行 项目 将获得我们通过发件人发送的消息的输出。

输出:

有关更多信息,请参阅此博客:USING AZURE SERVICE BUS QUEUES WITH ASP.NET CORE SERVICES