我有一个继承自ApiController的控制器,名为MyController。
如果我创建一个新的:
new MyController();
它不再具有访问HttpContext的功能,例如:
new MyController()。请求
为空。
如何创建一个上下文完整的新ApiController?
答案 0 :(得分:3)
HttpContext与Web API无关,它是ASP.NET运行时托管的剩余部分。如果你自己托管一个web api,HttpContext将永远不可用。
如果您正在尝试对ApiController进行单元测试,那么您可以简单地使用虚假请求分配Request属性。
如果这是运行时问题,那么在框架调用ApiController上的ExecuteAsync之前,不会设置Request属性。