我做了一个OA,IIS服务器的address:192.168.0.1
我在程序中用request.userhostaddress取得的地址是主机(192.168.0.1)的,不是客户端的啊,我又用以下代码:
   Dim ClientIP As String
        ' ClientIP = Request.UserHostAddress
        If Not (Request.ServerVariables("HTTP_VIA") Is System.DBNull.Value) Then
            ClientIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR").ToString()
        Else
            ClientIP = Request.ServerVariables("REMOTE_ADDR").ToString()
        End If可是出错,说对象未引用到实例,怎么办啊??急盼!

解决方案 »

  1.   

    晕,有这个方法吗?我怎么不知道啊,还有一点就是,我在我内网的每台电脑上打开我的论坛都是显示服务器的地址,我用的是windows2003,是什么原因啊?
      

  2.   

    你就用ClientIP = Request.UserHostAddress就可以了,为什么注释掉!
      

  3.   

    try:
    public static string HostIP  
    {
    get
    {
    string user_IP =  HttpContext.Current.Request.UserHostAddress;

     if(HttpContext.Current.Request.ServerVariables["HTTP_VIA"]!=null)

     user_IP=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 
    }
    else

     user_IP=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); 


    return user_IP; }
    }
      

  4.   

    上面不对啊,你程序中就有错,user_IP前后使用中类型不会哦