我正在尝试在.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()?
我认为您缺少using
声明:
使用NServiceBus.Extensions.DependencyInjection;
您可以通过单击所引用示例中相关代码段上方的“复制使用方法”来验证您的编码是否正确。