CreateBus()做什么[NServicebus]?
我将此作为NServiceBus的初始化代码:CreateBus()做什么[NServicebus]?,nservicebus,Nservicebus,我将此作为NServiceBus的初始化代码: Configure.Serialization.Json(); Configure.Transactions.Disable(); // No idea why this is set... Configure.Features.Disable<AutoSubscribe>(); // This endpoint only sends commands, it never receives
Configure.Serialization.Json();
Configure.Transactions.Disable(); // No idea why this is set...
Configure.Features.Disable<AutoSubscribe>(); // This endpoint only sends commands, it never receives events, so it does not need to subscribe to anything.
Configure
.With(AllAssemblies.Except("evointernal.dll"))
.StructureMapBuilder(ObjectFactory.Container)
.ForMvc()
.UseTransport<Msmq>()
.PurgeOnStartup(true)
.UnicastBus()
.RunHandlersUnderIncomingPrincipal(false)
.FileShareDataBus("c:\\NServiceBus_DataBus")
.CreateBus();
Configure
.Instance
.Configurer
.ConfigureComponent<OutgoingMessageMutator>(DependencyLifecycle.InstancePerCall);
Configure.Serialization.Json();
Configure.Transactions.Disable();//不知道为什么会这样。。。
Configure.Features.Disable对此没有多大帮助。Configure是一个流畅的API,用于定义如何配置总线。CreateBus()实际上是启动它的工具。看看,它也可能解释为什么需要时间。你的问题基本上是“NServiceBus做什么?”一点也不。我的问题是“为什么NSB的init代码如此之慢,是否有一种方法可以在需要时手动运行它”。好的。它的速度很慢,因为它正在初始化一个复杂的基础设施:企业服务总线。它所做的事情并不琐碎,因此需要一些时间来启动。您可以在开发时注释掉它,或者在开发模式下运行时使用配置来决定是否初始化它。然而,如果不知道你的系统使用NSB做什么,就不可能说这是不是一个好主意。是的,我知道NSB做什么。我不知道CreateBus()是做什么的,或者为什么它是必要的——它是否检查并创建队列(如果必要)?因为我希望在开发时跳过该步骤并手动运行它,例如仅在需要时通过PowerShell cmdlet。