我想通过EndPoint config在我的NServicebus消息处理程序中为一个公共布尔属性设置一个值。
我知道的一种方法是创建
还有其他方法可以达到这个目的。
答案 0 :(得分:0)
Configure.Instance.Configurer
.ConfigureProperty<YourHandlerType>(h => h.BoolProperty,
Bool.Parse(ConfigurationManager.AppSettings["YourSetting"]));
在将来的版本中,这将是easier。
编辑:
根据David的建议,您可以尝试使用IWantToRunBeforeConfigurationIsFinalized
延迟注册。
您也可以尽早注册该组件。由于NServiceBus将处理程序注册为DependencyLifecycle.InstancePerUnitOfWork
,因此您的代码应该执行相同的操作
Configure.Component<YourHandlerType>(DependencyLifecycle.InstancePerUnitOfWork)
.ConfigureProperty(h => h.BoolProperty,
Bool.Parse(ConfigurationManager.AppSettings["YourSetting"]));