0

すべてのメソッド(ダーティ)でユーザーを取得する必要がないように、コントローラーctor内でカスタムユーザープロバイダーを使用する方法を見つけたいと思います。

これは私のコンストラクターにあるものですが、nullを返し続けますか?

Resource oResource;
public EntityController()
{
    try
    {
        DataEntities oEntities = new DataEntities();
        oResource = oEntities.Resources.Where(c => c.user == User.Identity.Name).First();
    }
    catch
    {
        oResource = new Resource();
    }
}
4

1 に答える 1

1

メソッドをオーバーライドしてController.Initialize()、そこにコードを入れます。コントローラーのコンテキストは、コンストラクターでは使用できません。

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{       
    base.Initialize(requestContext);
    // your code here
}

すべてのアクションでユーザーのエンティティが必要な場合は、コントローラーが継承する基本クラスに動作をプッシュします。

于 2009-09-13T16:19:25.020 に答える