在ASP.net中可以获得访问服务器的客户端的机器名吗?看清楚了是机器名,而不是IP地址.比如像这个Request.UserHostAddress;也只能是得到他的IP地址哟.有没有办法可以得到喔?谢谢了.

解决方案 »

  1.   

    gethostname可以得到本地的主机名 
    gethostinfo或gethostbyaddr可以得到远程的吧 
      

  2.   

    用wmi,做成activex控件
    但需要弹出那种权限确认的东东。
    可以参考我的这篇文章:
    http://www.cnblogs.com/time-is-life/articles/312509.html
    想获得啥就获得啥
      

  3.   

    Request["User_AUTH"]即可
    还是Request["AUTH_User"]哪个前哪个后,试一下就知道了
      

  4.   

    看来还真是不是一般的难喔,以上的方法除了“time_is_life”可能可行外,其它的都是只能得到IP地址。但总不能就只为得个机器名让用户装个ActivX吧,有点难接受,各位大大,还有没有什么比较好的方法。
      

  5.   

    1.   在ASP.NET中专用属性:   
      获取服务器电脑名:Page.Server.ManchineName   
      获取用户信息:Page.User   
      获取客户端电脑名:Page.Request.UserHostName   
      获取客户端电脑IP:Page.Request.UserHostAddress   
        
      2.   在网络编程中的通用方法:   
      获取当前电脑名:static   System.Net.Dns.GetHostName()   
      根据电脑名取出全部IP地址:static   System.Net.Dns.Resolve(电脑名).AddressList   
      也可根据IP地址取出电脑名:static   System.Net.Dns.Resolve(IP地址).HostName   
        
      3.   系统环境类的通用属性:   
      当前电脑名:static   System.Environment.MachineName   
      当前电脑所属网域:static   System.Environment.UserDomainName   
      当前电脑用户:static   System.Environment.UserName