【发布时间】:2017-02-07 14:01:57
【问题描述】:
我使用 MVC 4 项目为 API 创建了一个基本控制器。一切都按我的意愿工作,但为了提高效率,我希望能够通过 OnAuthorization 方法从我的基本控制器访问一些自定义属性。我需要执行一些 SQL 查询以确保访问令牌有效等等。我宁愿做一次这个查询并将对象作为属性存储在控制器上,以便我以后可以访问它而无需再次进行查询。
简而言之,这就是我想要做的。
[APIActionFilter]
public class APIBaseController : ApiController
{
public APIClient client;
public class APIActionFilter : System.Web.Http.AuthorizeAttribute
{
public override void OnAuthorization(HttpActionContext filterContext)
{
//get data from the database.
Controller.client = objectmadefromdb;
}
}
}
一定有对这个对象的引用在某处传递?
【问题讨论】:
-
检查
filterContext.ControllerDescriptor -
不确定它会有多大帮助,但我做了类似的事情,在自定义授权属性中进行数据库调用。见这里:SO link
标签: c# asp.net asp.net-mvc