6

私は Web 開発と ASP.net にまったく慣れていませんが、次の質問を疑問に思っていました。

Web ページで静的変数を宣言し、複数のユーザーが同じページに同時にアクセスするとします。この静的変数は各ユーザーに固有のものですか、それともさまざまなユーザーに干渉しますか?

ありがとう

4

2 に答える 2

7

はい、それはユーザー間、および単一ユーザーによる同時リクエスト間で干渉します。何をしているかについて確信が持てない限り、ASP.NET(および他のほとんどの開発)の静的フィールドは避けてください。

ここで行っていること、またはリクエスト自体の一部として何か(フォームデータ、Cookieなど)にセッション状態を使用することを検討してください。

于 2012-07-10T12:51:32.153 に答える
2

この静的変数は各ユーザーに固有ですか?

いいえ。

さまざまなユーザーに干渉しますか?

はい。

セッション状態、キャッシングなど、他の永続化メディアを使用することをお勧めします。

ASP.NETのフィールドで属性を使用して、[ThreadStatic]ユーザーごとに一意にする人もいますが、これは危険であり、実行しないでください。これは絶対に避けてください。他の誰かがそれを推薦した場合にのみ、私はそれを持ち出します。

于 2012-07-10T12:51:55.367 に答える