0
我已经使用MVC 4项目为API创建了一个基本控制器。一切都按我想要的方式工作,但为了提高效率,我希望能够通过OnAuthorization方法从我的基本控制器访问一些自定义属性。我需要执行一些SQL查询以确保访问令牌有效,等等。而是使用此查询一次,并将该对象作为属性存储在控制器上,以便以后可以访问它,而无需再次执行查询。从AuthorizeAttribute方法ASP.NET访问控制器属性
总之,这就是我想要做的。
[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' – Nkosi
不知道它会有多大的帮助,但我做了一些类似于在自定义授权属性中进行数据库调用的东西。看到这里:[SO链接](http://stackoverflow.com/questions/29172150/custom-webapi-authorization-database-call) – MisterIsaak