Moh*_*yan 6 c# asp.net-mvc-4 asp.net-web-api
我有一个带有基本控制器的Web API,我想从中获取请求的控制器名称Request.GetRouteData().Values["controller"],如下面的代码:
public class BaseApiController : ApiController
{
protected string EntityName;
public BaseApiController()
{
//Request is null
EntityName = Request.GetRouteData().Values["controller"] as string;
}
}
Run Code Online (Sandbox Code Playgroud)
但在上面的代码中,Request始终为null.
上面的代码出了什么问题?
这是预期的 - 你在控制器构造函数中.尚未使用实际请求初始化控制器.尝试以下内容:
protected string EntityName
{
get { Request.GetRouteData().Values["controller"] as string; }
}
Run Code Online (Sandbox Code Playgroud)
这应该是访问后,在构造上运行,当你在子类中的方法是.
你不能Request在Controller's'tor中使用这个属性.它在实际请求被框架移交给它之前被调用.
| 归档时间: |
|
| 查看次数: |
6971 次 |
| 最近记录: |