私は混乱しており、same information
のmultiple action
メソッドではベストプラクティスを知りたいと思っています。私は複数の方法で使用したい5つの値を持っていますaction
私はその5つの値を持っているmodel
クラスを持っています。C#Asp.net - 複数のアクションメソッドで同じ情報を使用
現在、セッションにデータを格納しておき、それが必要なすべての方法でデータを取得しています(action
)。
[HttpPost]
public ActionResult Index(Model model){
Session["A"]=mode.a;
Session["B"]=mode.b;
Session["C"]=mode.c;
Session["D"]=mode.d;
Session["D"]=mode.d;
}
[HttpGet]
public ActionResult Action1(){
Label1.Text=Session["A"];
Label2.Text=Session["B"];
Label3.Text=Session["C"];
Label4.Text=Session["D"];
Label5.Text=Session["E"];
}
[HttpGet]
public ActionResult Action2(){
Label1.Text=Session["A"];
Label2.Text=Session["B"];
Label3.Text=Session["C"];
Label4.Text=Session["D"];
Label5.Text=Session["E"];
}
だから、単純に私の質問は、私はすべてのアクションメソッドでモデルクラスのobject
ことを渡すことができますか?または、action
メソッドでobject of the model
クラスを使用する他のベストプラクティスがあるか、session
を使用する方が良い方法ですか?
私のすべてaction
メソッドのviews
は、同じ `モデルクラスを使用します。
異なるがセッションは、サーバーとアプリケーションのパフォーマンスの影響かもしれません。 1Mのユーザが現在ウェブサイトにアクセスしていて、そのデータをセッションに保存しているので、サーバの負荷が増加する可能性があります。セッション中に最大の「1KB」データを保存していることは間違いありません。 –
多くのユーザーがいる場合は、1台のサーバーから実行できる可能性が低いため、セッション用に何らかの種類の共有ストレージを使用する必要があります。データベースからセッション情報を実行することができ、その影響はカスタム永続化実装よりも大きくなることはまずありません。 – ChrisBint
Redisのキャッシュセッション状態プロバイダは、多数のユーザーの共有セッションと永続セッションに適しています。リンク上の詳細実装を見つけるhttps://azure.microsoft.com/en-us/documentation/articles/cache-aspnet-session-state-provider/ –