0

仕事でしばらく MVC 3 を使用しており、コードをかなり見直しています。セッションを使用して、すべてのアクション/ビューで必要なデータを保存しています。

理由を完全には理解していませんが、これは悪い考えだと思います。だから私は読み始めて、この投稿を見つけました:ASP.NET MVCのセッション変数

現在、この方法でコントローラーのセッションにアクセスしていますが、

private SelectedReport Report
{
   get
   {
        return Session["Report"] as SelectedReport;
   }
   set
   {
        Session["Report"] = value;
   }
}

次に this.Report でアクセスします

上記の方法は最適/適切ではないことを読みましたが、その理由はわかりません。

私のやり方が良くない/最適でないのはなぜですか? リンクの方法が優れているのはなぜですか?

(これは概念的な質問として提起されたほうがよいかもしれませんが、そのように尋ねる方法がわかりません.Web / MVCの概念がいくつか欠けていると思います.MVC / Webに投げ込まれただけで、予備知識があり、どこから始めればよいかわかりませんでした)。

4

1 に答える 1

1

エラー処理のために、物事を単純化できるいくつかのライブラリがあります。しかし、それ以上に、セッションへの保存は、オブジェクトが必要な場所でのみ行う必要があります。いくつかの場所で

あるビューから別のビューに 1 つのオブジェクトを公開する必要がある場合は、ビューに必要なものを含む共通の基本モデルを使用するか、セッション オブジェクトの代わりに ViewData オブジェクトに何かを追加することが理想的です。

また、エラー処理では、致命的なエラーは global.asax にトラップする必要があります。警告については、特に、マスター ページに表示される警告コレクションを含むすべてのビューに対して基本モデル クラスを使用します。

于 2013-06-13T15:52:47.020 に答える