1

IIS 7.5 ASP.net 4.0 C# 4.0

ここで関数はスレッドセーフですか? 異なる訪問者から同時に 1000 件の異なる通話が行われたと仮定する

public static string ReturnIpAddress()
{
    string srUserIp = "";
    try
    {
        if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
        {
            srUserIp = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
        }
        if (string.IsNullOrEmpty(srUserIp))
        {
            srUserIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
        }
    }
    catch
    {

    }
    return srUserIp;
}
4

1 に答える 1

2

これは超安全です。データは変更せず、静的であり、不変のリクエスト オブジェクトをクエリします。

于 2012-12-21T18:15:39.947 に答える