MVC 4プロジェクトを使用してAPI用のベースコントローラーを作成しました。すべてがうまく動作しますが、効率の観点から、OnAuthorizationメソッドのベースコントローラーからカスタムプロパティの一部にアクセスできるようにしたいと考えています。私はアクセストークンが有効であることを確認するためにいくつかのSQLクエリを実行する必要があります。 Idはむしろこのクエリーを一度作って、コントローラにプロパティとしてオブジェクトを保存して、後でクエリーをやり直す必要なくアクセスできます。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;
}
}
}
このオブジェクトの参照はどこかに渡される必要がありますか?
check 'filterContext.ControllerDescriptor' – Nkosi
どの程度役立つのかよく分かりませんが、私はカスタム権限属性でデータベース呼び出しを行うのと似たようなことをしました。参照:[SOリンク](http://stackoverflow.com/questions/29172150/custom-webapi-authorization-database-call) – MisterIsaak