3

(ASP.NET Web ページで使用されているアセンブリで) 次のようなものを記述できますか?

public static string CurrentAuthenticatedUserFromHttpRequest
{
    get
    {
        if (HttpContext.Current.Items["AuthUser"] == null)
        {
            return string.Empty;
        }

        return HttpContext.Current.Items["AuthUser"].ToString(); //set in "TryAuthenticate"
    }
}

これは静的な読み取り専用プロパティになります。(HttpContext.Current.Items["AuthUser"] への) 値は、httphandler を介して設定されます。

複数のリクエスト中にこれがどのように機能するか疑問に思っています。複数のユーザーが (複数のリクエストで) 同じプロパティにアクセスしようとすると、大量のリクエストが入った場合でも、データは正確になりますか?

4

1 に答える 1

5

はい、これはスレッドセーフです。静的HttpContext.Currentプロパティはスレッドごとに異なり、スレッドが現在処理している要求のコンテキストが含まれています。

于 2013-04-28T13:52:26.133 に答える