【发布时间】:2014-09-05 01:37:09
【问题描述】:
我在尝试将 Windsor 与 Web API 一起使用并将 HttpRequestMessage 注入控制器的下游依赖项时遇到了无穷无尽的问题。由于我已经在 Stackoverflow 上尝试了所有匹配的答案,我想以不同的方式提出这个问题:
在 Castle Windsor 中,如何在为 downstream 依赖项提供值的同时解析组件实例?也就是说,提供的值是被解析的组件所需要的组件所需要的。
对于上下文,我正在尝试注入 HttpRequestMessage 以便我可以使用它来解析请求上下文(主要是解析绝对 URL)。
编辑我还想指出,我目前没有对 Web Host / System.Web 的依赖,我不想改变它。
【问题讨论】:
-
你能贴一些代码吗?通常状态不会被注入,所以使用抽象工厂来按值解析,或者数据只是通过方法传递(方法注入)。听起来你正在做的事情可能更复杂?
-
想象
SomethingController依赖于SomethingService。SomethingService取决于LinkGenerator。LinkGenerator需要当前的HttpRequestMessage以便它可以生成绝对 URL。在创建SomethingController的每个实例之前,我需要注册HttpRequestMessage,以便它可以在LinkGenerator层使用。
标签: castle-windsor