0
私はHttpContext
を使用してクライアントIPを取得する静的メソッドを持っています。ログイン時にクライアントIPを取得する
public static string GetClientMachineIPAddress()
{
string strClientIP = string.Empty;
if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null ||!string.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]))
{
strClientIP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (strClientIP == string.Empty)
{
strClientIP = HttpContext.Current.Request.UserHostAddress;
}
return strClientIP;
}
これは、ユーザーが既にログインしている時に正常に動作しますが、私は、セッションが確立される前にnullのHttpContext.Current
ので、ログイン時のIPを取得しようとした場合は動作しません。
ご了承ください。