需要获取计算机名称在IIS上托管站点时

时间:2014-09-01 10:25:09

标签: asp.net asp.net-mvc iis

我希望在我的网站托管在iis服务器上时获取计算机名称。

当我从本地运行我的网站时,我将获得用户名。这是我的代码。

 PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
 UserPrincipal userp = UserPrincipal.Current; 

但是当我在iis服务器上发布我的网站时,我没有得到系统名称

2 个答案:

答案 0 :(得分:0)

您可以使用以下任何代码段。

System.Environment.MachineName
HttpContext.Current.Server.MachineName
System.Net.Dns.GetHostName() 
System.Net.Dns.GetHostEntry(Environment.MachineName).HostName
Dns.GetHostByName("LocalHost").HostName

希望这有帮助

答案 1 :(得分:0)

试试这个:

添加此命名空间:

  

使用System.Net;

然后使用它:

 protected void Page_Load(object sender, EventArgs e)
    {
        string IP = Request.UserHostName;
        string compName = DetermineCompName(IP);
        Response.Write(compName);
}

 public static string DetermineCompName(string IP)
    {
        IPAddress myIP = IPAddress.Parse(IP);
        IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
        List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
        return compName.First();
    }