0

私は MVC 5 インターネット アプリケーションをコーディングしています。各クラスでまったく同じメソッドを使用するか、代わりにこのメソッドで静的クラスを使用するかについて質問があります。

メソッドは次のとおりです。

public Account GetAccount(string userName)
{
    if (Session[userName] == null)
    {
        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        ApplicationUser user = userManager.FindByNameAsync(userName).Result;
        Session[userName] = user.account;
    }
    return Session[userName] as Account;
}

現在、このメソッドを多くのコントローラーとサービス クラスに追加しています。Account多くのクラスでこれを行う代わりに、静的クラスでこのメソッドを 1 回宣言し、オブジェクトを取得するたびにこの静的クラスを使用する必要がありますか?

知っておくべき欠点/利点はありますか?

前もって感謝します。

4

1 に答える 1

0

複数のオプションがあります。オプション 1: 1 つの個別のクラスを作成し、そのクラスにメソッドを配置できます。そのクラスは静的である必要はありません。オプション 2: アカウント クラスの拡張メソッドを作成できます。オプション 3: A. Controller の場合、次のような基本クラスを 1 つ作成します。public class BaseController : Controllerを作成し、すべてのコントローラーのBaseColtrollerを継承します。B. サービスの場合も同様です。

ありがとう
ラビランジャン

于 2014-12-10T07:32:35.313 に答える