1

私が疑問に思っているのは、複数のユーザーが ASP.NET で開発された Web サイト アプリケーションを使用し、その変数を変更するとどうなるかということです。たとえば、次のようになります。

UserA は、いくつかのデータをサーバー側変数に設定します。

var = 5

次に、別の PC の UserB がログオンし、他のデータを同じサーバー側変数に設定します。

var = 7

次に、UserA が var 変数の値を必要とするプロセスを実行し、値を出力するとします。プログラムは何を出力しますか? 5か7?

クライアント側の変数が問題のユーザーに対してのみ意味を持つことは知っていますが、サーバー側の変数で何が起こるかはわかりません。ありがとう!

4

1 に答える 1

3

Asp.net アプリケーションのライフ サイクルを見てみましょう。

ユーザーからのリクエストごとに、リクエストされたページのオブジェクトが作成されます。
各リクエストには、そのような内部変数の独自のコピーがあるため、他のユーザーはそれらを見ることができません。

このような変数はリクエストに対してのみ存在することに注意してください。ページにボタンがあり、ユーザーが戻ってきた場合、これらはページのライフサイクル中に元の値にリセットされます。

変数が各ユーザーの状態を維持するようにする場合は、それらをSessionまたはに保持する必要がありますViewState

コレクションに保持されている変数はSessionページ間で保持されますが、コレクション内の変数ViewStateは同じページに移動するまで保持されます。どちらのコレクションにも長所と短所があります。変数を格納する適切な場所を決定するには、それらをよく理解する必要があります。

于 2013-02-21T04:28:05.890 に答える