私は Web 開発と ASP.net にまったく慣れていませんが、次の質問を疑問に思っていました。
Web ページで静的変数を宣言し、複数のユーザーが同じページに同時にアクセスするとします。この静的変数は各ユーザーに固有のものですか、それともさまざまなユーザーに干渉しますか?
ありがとう
はい、それはユーザー間、および単一ユーザーによる同時リクエスト間で干渉します。何をしているかについて確信が持てない限り、ASP.NET(および他のほとんどの開発)の静的フィールドは避けてください。
ここで行っていること、またはリクエスト自体の一部として何か(フォームデータ、Cookieなど)にセッション状態を使用することを検討してください。
この静的変数は各ユーザーに固有ですか?
いいえ。
さまざまなユーザーに干渉しますか?
はい。
セッション状態、キャッシングなど、他の永続化メディアを使用することをお勧めします。
ASP.NETのフィールドで属性を使用して、[ThreadStatic]
ユーザーごとに一意にする人もいますが、これは危険であり、実行しないでください。これは絶対に避けてください。他の誰かがそれを推薦した場合にのみ、私はそれを持ち出します。