2

ASP.NET Webアプリケーションでは、Global.asaxにSession_Endイベントがあります。私が欲しいのは、ユーザーのIPアドレスを取得できるようにすることです。私が試したことは

void Session_End(object sender, EventArgs e)
{
    string ip1 = HttpContext.Current.Request.UserHostAddress;
    string ip2 = Request.UserHostAddress;
}

ただし、どちらの場合もRequestはnullです。ユーザーのIPアドレスを取得するにはどうすればよいですか?

4

1 に答える 1

4

ユーザーのIPアドレスは、次を使用して取得できます。

HttpContext.Current.Request.UserHostAddress

ただし、ご覧のとおり、IPアドレスは「Current.Request」から取得されます。これは、リクエストではないため、Session_Endイベントには当てはまりません。特にSession_EndでIPアドレスが必要な場合は、代わりにSession_Startでセッション変数にIPアドレスを保存してから、Session_Endで呼び出すことができます。

于 2012-07-08T09:02:43.060 に答える