0

私には2つの部分からなる質問があり、「ベストプラクティス」の提案を得ることを望んでいました。

  1. タイトルに記載されているように、私はMVC 4を使用して、ユーザーが組織にログインできるようにしています。私のすべてのモデルは、データベースエントリを作成するときに使用するこの組織IDを保存します。非常に多くのシナリオがあるため(ユーザーはログインを維持するようにメンバーシップを設定できるため、ログインコントローラーアクションはトリガーされません)、またはログオフして再度ログインする可能性があります。この組織情報を設定するのに最適な場所は1つありますかそれで、すべてのコントローラー/ビューにアクセスできますか?

  2. 現在、モデルの1つに静的変数を設定しているだけですが、これを行うには、より優れた、より堅牢な方法があるはずです。

お時間を割いていただき、ありがとうございました!

4

3 に答える 3

1

アプリケーション状態の仕事のように聞こえます。

アプリケーションの状態は、ASP.NETアプリケーションのすべてのクラスで使用できるデータリポジトリです。アプリケーションの状態はサーバーのメモリに保存され、データベースに情報を保存して取得するよりも高速です。シングルユーザーセッションに固有のセッション状態とは異なり、アプリケーション状態はすべてのユーザーとセッションに適用されます。したがって、アプリケーションの状態は、ユーザーごとに変わらない、頻繁に使用される少量のデータを格納するための便利な場所です。

ホイールを再発明する意味はありません。

于 2013-02-24T04:53:00.080 に答える
0

私によると、ユーザーに関するデータをsession storage/に保持して、 アクセスする必要がある場所ならどこからでもcookie storageアクセスできるようにする必要があります。ユーザーが認証されているかどうかを確認し、データにアクセスできるかどうかを確認してください。

true

于 2013-02-23T21:20:57.110 に答える
0

:Controllerから継承するBaseControllerクラスを作成できます。

つまり、すべてのコントローラーが宣言されます

 public class HomeController : MYBaseController

このBaseControllerクラスは、すべてのグローバル作業を実行できます。

于 2013-02-23T21:15:50.983 に答える