从 NServiceBus 行为将实例注册到构建器中
Register instance into builder from NServiceBus behaviour
我有一个网络 api 可以向端点发送命令。我创建了 message 一个 mutator,它添加了一个带有序列化 IAuthenticationInformation 实例的自定义 header。
我需要在接收端点做的是拦截此 header(大概在行为中),将其反序列化为 IAuthenticationInformation 并将其注册到将构建处理程序的 child 容器中在请求时 return 它。
我已经准备好将实例注册到容器中了。问题是 context.Builder 不提供任何注册操作。
我怎样才能做到这一点?
备注:
- 我正在使用 v6(我在 v5 中找到了使用 PipelineExecutor 执行此操作的方法,但这似乎不再有效)。
- 我正在使用 Unity,但我更喜欢独立于容器的解决方案
- 这个问题对我来说似乎很常见,因为我在其他几个场景中需要这个(即使用给定的数据库连接注册一个工作单元),所以我不明白为什么很难找到一个解决方案。我应该考虑另一种方法吗?
您正在做的是 Appending username using headers 示例的变体。
将 UnityContainer 添加为 IncomingMessageBehavior 中的构造函数依赖项。
这将为您提供一个子容器来注册您的实例。
我有一个网络 api 可以向端点发送命令。我创建了 message 一个 mutator,它添加了一个带有序列化 IAuthenticationInformation 实例的自定义 header。
我需要在接收端点做的是拦截此 header(大概在行为中),将其反序列化为 IAuthenticationInformation 并将其注册到将构建处理程序的 child 容器中在请求时 return 它。
我已经准备好将实例注册到容器中了。问题是 context.Builder 不提供任何注册操作。 我怎样才能做到这一点?
备注:
- 我正在使用 v6(我在 v5 中找到了使用 PipelineExecutor 执行此操作的方法,但这似乎不再有效)。
- 我正在使用 Unity,但我更喜欢独立于容器的解决方案
- 这个问题对我来说似乎很常见,因为我在其他几个场景中需要这个(即使用给定的数据库连接注册一个工作单元),所以我不明白为什么很难找到一个解决方案。我应该考虑另一种方法吗?
您正在做的是 Appending username using headers 示例的变体。
将 UnityContainer 添加为 IncomingMessageBehavior 中的构造函数依赖项。
这将为您提供一个子容器来注册您的实例。