asp.net 获取客户端ip

在网站根目录中添加文件 Global.asax

代码如下:

<%@ Application Language="C#" %>

<script runat="server">

     
    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
        Application["numOfOnLine"] = 0;

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码
        Application["numOfOnLine"] = 0;
    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码
        string ip = string.Empty;
        try
        {
            if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
            {
                ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();
            }
            else
            {
                ip = HttpContext.Current.Request.UserHostAddress;
            }
           

            //此处记录访问日志,写数据库。

        }
        catch (Exception ex)
        {
            throw ex;
        }

        Application["numOfOnLine"] = (long)Convert.ChangeType(Application["numOfOnLine"], typeof(long)) + 1;

    }

    void Session_End(object sender, EventArgs e)
    {
        // 在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer,则不会引发该事件。

        Application["numOfOnLine"] = (long)Convert.ChangeType(Application["numOfOnLine"], typeof(long)) - 1;
        if ((long)Convert.ChangeType(Application["numOfOnLine"], typeof(long)) < 0) Application["numOfOnLine"] = 0;

    }
      
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值