1

私はVBには古いですが、ASP.NETには新しいです

私は新しいウェブサイトでいくつかの辞書を書きました。問題は、複数のユーザーがこれらの辞書を同時に使用している場合、1人のユーザーが別のユーザーの情報を取得することです。

ASP.NETを初めて使用する場合、この問題を回避するための最良の方法は何でしょうか。セッション状態またはViewState?私は間違った方向を見ていますか?

4

3 に答える 3

2

サーバ側:

セッションはユーザー固有であるか、ブラウザー固有と言えます。サイトのすべてのユーザー間で共有されるわけではありません。セッションは、任意のオブジェクト データ型を保持できます。

Session["key"] = "value";

アプリケーションは、サイト上のすべてのユーザーで共有されます。

Application["key"] = "value";

クライアント側:

ViewState データはユーザー間で共有されず、ページ間でも共有されません。ポストバック中にデータを保持します。

ViewState["key"] = "value";
于 2012-07-11T19:43:15.663 に答える
1

セッションは、ユーザー固有の情報を保持し、ユーザーのブラウジング セッションの間持続します。ViewState は、ユーザーが現在閲覧しているページのコントロールに固有の情報を保持します。

ユーザーに固有の情報を保存し、ユーザーがサイトを閲覧するときに保持する必要がある場合は、Session が最適なソリューションです。

于 2012-07-11T19:36:23.903 に答える
0

UserName、LastName などの情報のようなデータにアクセスする場合は、Sessionこのデータが現在のユーザーに対して変更されないため、最良の選択です。ただし、変数に値を保存する場合は、同時実行の問題を考慮する必要があります。たとえば、単純なボタンとテキスト ボックスを含むページがあり、ボタンをクリックした後にテキスト ボックスの値が保存されてSessionいる場合、ユーザーがそのページの 2 つのインスタンスを開いた場合次に、セッションの競合が発生します。すべてのボタンをクリックすると、書き込みセッションデータが上書きされます。ページに変数を保存したい場合は使用できますViewStateが、この値はユーザーが簡単に見ることができると考える必要がありますView State Encryption。ページ間で値を渡したい場合は、使用できますQuery String

幸運を

于 2012-07-11T20:22:57.477 に答える