2016-02-04 50 views
0

建设者我有一个Web API,它发送命令到端点。我创建了一个mutator的消息,它添加了一个带有序列化IAuthenticationInformation实例的自定义头。注册实例为从NServiceBus行为

我在接收端点需要做的是截获这个头文件(大概是在行为中),将它反序列化为一个IAuthenticationInformation并将其注册到子容器中,这将构建处理程序以在请求时返回它。

我已经得到了一切注册实例到容器的地步。问题是context.Builder不提供任何寄存器操作。 我该如何做到这一点?

注:

  1. 我使用V6(我发现使用PipelineExecutor V5这样的一种方式,但是这似乎并没有工作了)。
  2. 我使用的是统一的,但我更喜欢一个容器独立的解决方案
  3. 这个问题对我来说很常见的,因为我需要这样的一对夫妇的其他情形(即注册工作的单位给定的分贝连接),所以我不明白为什么很难找到解决方案。我应该看看另一种方法吗?

回答

0

你在做什么是Appending username using headers样本的变体。

添加UnityContainer作为IncomingMessageBehavior构造函数依赖。

这会给你一个子容器与注册您的实例。

+0

这似乎是一个很好的回答我的问题(虽然不是容器独立的),所以我把它标记为答案,但因为我得到了不同的建议,我不会采取这一方式:用一生登记的依赖工作单元和行为调用对它们进行初始化,以传递来自标题的数据。在这种情况下,这是一个更好的方法,因为我们不会在nsb实例化依赖项和容器时创建依赖项。您可以在这里阅读完整的对话:https://groups.google.com/d/msg/particularsoftware/AprrsD3G7gM/Tkoh-SVOEQAJ –