netcore 3.1启动中的NServiceBus配置
我已经阅读了在NetCore中设置NServiceBuse的所有文档和示例,但是,所有示例都在netcore 3.1启动中的NServiceBus配置,nservicebus,Nservicebus,我已经阅读了在NetCore中设置NServiceBuse的所有文档和示例,但是,所有示例都在程序.cs(Host.CreateDefaultBuilder().UseNServiceBus())中进行了配置 我想知道是否可以在Program.cs的ConfigureServices方法中配置NServiceBus。 原因是在HostBuilder中,我正在构建所有IConfiguration选项(例如,从appsettings.json、EnvironmentVariables、AzureKe
程序.cs
(Host.CreateDefaultBuilder().UseNServiceBus()
)中进行了配置
我想知道是否可以在Program.cs
的ConfigureServices
方法中配置NServiceBus。
原因是在HostBuilder
中,我正在构建所有IConfiguration
选项(例如,从appsettings.json、EnvironmentVariables、AzureKeyVault、ConfigMaps等读取)和记录器实现。调用ConfigureServices
时,所有这些问题都已解决。我需要能够从IConfiguration中获取连接字符串之类的内容,因此我认为在HostBuilder中这样做是行不通的
看起来有很多工作可能正在幕后进行,以注入IMessageSession
并扫描IHandlMessages
实例。这应该可以在服务中完成
编辑:忘记添加,因为它在
程序.cs
中,而且我们使用的是Serilog,我没有LoggerFactory。LoggerFactory是由服务注册和注入的,但我无法在启动时获得它。看起来这不是一个选项。我能够找到一个解决办法来让它全部正常工作,就是把它放在Program()中,并确保在所有其他配置完成后调用它。这似乎并不理想,而且似乎是netcore 3的反模式。看起来这不是一个选项。我能够找到一个解决办法来让它全部正常工作,就是把它放在Program()中,并确保在所有其他配置完成后调用它。它似乎并不理想,而且似乎是netcore 3的反模式。我想补充一点,这是一个糟糕的设计选择。我应该能够注册我的东西在启动和包扫描不应该发生
这是一个整洁的项目,但我认为对于任何非琐碎的开发来说,它都可能是缺乏的
原因是我希望有一个具有多个端点的web主机,如果不运行两个完整实例(),我就无法做到这一点
我的工作流程是
我想做的是有第二个队列(我们正在使用Azure service bus)来侦听工作程序更新并更新UI。我想补充一点,这是一个糟糕的设计选择。我应该能够注册我的东西在启动和包扫描不应该发生 这是一个整洁的项目,但我认为对于任何非琐碎的开发来说,它都可能是缺乏的 原因是我希望有一个具有多个端点的web主机,如果不运行两个完整实例(),我就无法做到这一点 我的工作流程是
我想做的是有第二个队列(我们正在使用Azure service bus)来侦听并更新UI上的工作程序更新。尽管您已经有了解决方法,但我已经构建了一个类似的设置,如您所述,使用Serilog作为记录器和NServiceBus。您可以访问Program.cs中的配置,如下所示:
public static IHostBuilder CreateHostBuilder() =>
Host.CreateDefaultBuilder()
.ConfigureAppConfiguration()
.UseSerilog()
.UseNServiceBus(c => NServiceBusSetup.Configure(c.Configuration, c.HostingEnvironment))
在自制的方法NServiceBus.Configure中,您可以设置端点。尽管您已经有了解决方法,但我已经构建了一个类似的设置,正如您使用Serilog作为记录器和NServiceBus所述。您可以访问Program.cs中的配置,如下所示:
public static IHostBuilder CreateHostBuilder() =>
Host.CreateDefaultBuilder()
.ConfigureAppConfiguration()
.UseSerilog()
.UseNServiceBus(c => NServiceBusSetup.Configure(c.Configuration, c.HostingEnvironment))
在自制的方法NServiceBus.Configure中,您可以设置端点。是否有包含可用配置的上下文参数重载
Host.CreateDefaultBuilder().UseNServiceBus(context=>{var config=context.Configuration;})
是否有包含可用配置的上下文参数的重载<代码>主机.CreateDefaultBuilder().UseNServiceBus(上下文=>{var config=context.Configuration;})