是否可以在IServiceCollection对象上调用AddNServiceBus()方法?

问题描述 投票:0回答:1

我正在尝试在.NET Core Web Api项目中设置NSB,以将命令发送到包含处理程序以接收消息的.NET Core Endpoint项目。到目前为止注册NSB的代码:

     public void ConfigureServices(IServiceCollection services)
        {
            ......
            ......
            //services.AddNServiceBus(endpointConfiguration);
            var endpoint = Endpoint.Start(SetupEndpointConfiguration()).GetAwaiter().GetResult();
            services.AddSingleton(endpoint);
        }

根据NSB文档(https://docs.particular.net/samples/dependency-injection/aspnetcore/),使用.net核心的内置DI(对于我来说是3.1),我们应该能够在服务对象上调用.AddNServiceBus()。但是,我无法这样做,因为VS无法解析该方法。我安装了以下库:

    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Hosting;
    using Microsoft.OpenApi.Models;
    using NServiceBus;
    using Serilog;

我尝试过的:使用Endpoint.Start()创建一个端点,并使用addSingleton()注册它,如第一个代码块所示。但不满意,因为文档应该让我使用AddNServiceBus()在ConfigureServices()中注册NSB。

为什么安装了NSB却无法解析.AddNServiceBus()?

asp.net-core-webapi nservicebus asp.net-core-3.1
1个回答
0
投票

我认为您缺少using声明:

使用NServiceBus.Extensions.DependencyInjection;

您可以通过单击所引用示例中相关代码段上方的“复制使用方法”来验证您的编码是否正确。

© www.soinside.com 2019 - 2024. All rights reserved.