如何使用HttpContext创建新的ApiController?

时间:2014-04-16 23:57:50

标签: c# .net asp.net-web-api

我有一个继承自ApiController的控制器,名为MyController。

如果我创建一个新的:

new MyController();

它不再具有访问HttpContext的功能,例如:

new MyController()。请求

为空。

如何创建一个上下文完整的新ApiController?

1 个答案:

答案 0 :(得分:3)

HttpContext与Web API无关,它是ASP.NET运行时托管的剩余部分。如果你自己托管一个web api,HttpContext将永远不可用。

如果您正在尝试对ApiController进行单元测试,那么您可以简单地使用虚假请求分配Request属性。

如果这是运行时问题,那么在框架调用ApiController上的ExecuteAsync之前,不会设置Request属性。