C#HttpSelfHostServer可以重新获得控制器构造的控制权吗?

时间:2012-12-05 11:47:54

标签: c# web self-hosting

由于服务器端的限制,我需要在.NET中构建自托管Web服务...

我目前正在关注HttpSelfHostServer但是我非常酷非常酷,它的控制器的神奇构造似乎是基于名称而仅使用默认构造函数。

对于我的测试,我需要在控制器中注入一个值,并使用IoC框架进行这一用法,其中vanilla dependancy注入就足够了。

有什么办法可以用HttpSelfHostServer做到这一点吗?还是有其他的,不推荐的,自托管的替代方案,让我可以控制我的控制器构造函数调用。

2 个答案:

答案 0 :(得分:2)

您需要提供给HttpSelfHostConfiguration构造函数的HttpSelfHostServer实例从DependencyResolver类继承HttpConfiguration属性。因此,您可以提供自定义依赖项解析程序,例如概述here

答案 1 :(得分:0)

我能够在单元测试中覆盖IHttpControllerActivator,我认为它与您尝试做的类似。

e.g。

httpConfiguration.Services.Replace(typeof(IHttpControllerActivator), 
 Mock<IHttpControllerActivator>());

(有关服务的更多信息here