由于服务器端的限制,我需要在.NET中构建自托管Web服务...
我目前正在关注HttpSelfHostServer但是我非常酷非常酷,它的控制器的神奇构造似乎是基于名称而仅使用默认构造函数。
对于我的测试,我需要在控制器中注入一个值,并使用IoC框架进行这一用法,其中vanilla dependancy注入就足够了。
有什么办法可以用HttpSelfHostServer做到这一点吗?还是有其他的,不推荐的,自托管的替代方案,让我可以控制我的控制器构造函数调用。
答案 0 :(得分:2)
您需要提供给HttpSelfHostConfiguration
构造函数的HttpSelfHostServer
实例从DependencyResolver
类继承HttpConfiguration
属性。因此,您可以提供自定义依赖项解析程序,例如概述here。
答案 1 :(得分:0)
我能够在单元测试中覆盖IHttpControllerActivator
,我认为它与您尝试做的类似。
e.g。
httpConfiguration.Services.Replace(typeof(IHttpControllerActivator),
Mock<IHttpControllerActivator>());
(有关服务的更多信息here)