如何通过EndPointConfig在NServiceBus MessageHandler中设置布尔属性

时间:2014-04-21 22:03:03

标签: properties boolean config nservicebus endpoint

我想通过EndPoint config在我的NServicebus消息处理程序中为一个公共布尔属性设置一个值。

我知道的一种方法是创建

  1. 具有该布尔属性的接口。
  2. 从接口继承的具体类。
  3. 初始化/设置该具体类中的值。
  4. 通过端点配置注入具体类。
  5. 还有其他方法可以达到这个目的。

1 个答案:

答案 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"]));