ASP.NET Session_End 事件并获取用户 IP 地址

标签 asp.net session

在我的 ASP.NET Web 应用程序中,我的 Session_End 事件位于 Global.asax 中。我想要的是能够获取用户的IP地址。我尝试过的是

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

但是 Request 在这两种情况下都为 null。如何获取用户的IP地址?

最佳答案

可以使用以下方式检索用户的 IP 地址:

HttpContext.Current.Request.UserHostAddress

但是正如您所看到的,IP 地址是从“Current.Request”中检索的,这与 Session_End 事件的情况不同,因为它不是请求。如果您特别需要 Session_End 处的 IP 地址,您可以尝试将 IP 地址保存到 Session_Start 处的 session 变量中,然后在 Session_End 处调用它。

关于ASP.NET Session_End 事件并获取用户 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381777/

相关文章:

c# - DotNetNuke 7换肤教程

c# - ASP.NET 超链接的正确语法

c# - Web.config 转换更改 appsettings 的路径

asp.net - 页面提交期间 span 标记上的 InnerHTML 属性为空 - jQuery/ASP.NET

python - 何时删除用户 session

java - hibernate/ Spring 3 : could not initialize proxy - no Session

asp.net - 在什么情况下 HttpContext.Current.Session 可以为 null?

asp.net-mvc-3 - 如何在 ASP.NET MVC 中设置登录用户的 session

session - 使用 wsadmin 列出事件 session

java - Servlet中jsp获取session属性值