2014-09-01 78 views
1

我想获取我的网站托管在iis服务器上时的计算机名称。需要获得计算机名称当在IIS上承载stite

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

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

但是当我发表我的网站IIS服务器上的I M没有得到系统的名字

回答

0

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

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

希望这有助于

+0

我已经tryed这更早,但它不工作 – user3462829 2014-09-01 10:31:22

+0

我已经更新了我的答案。 – Shravan 2014-09-01 10:34:09

+0

我只在本地工作,当我上传我的网站在网络服务器上它nt工作 – user3462829 2014-09-01 10:51:05

0

试试这个:

添加这个命名空间:using 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(); 
    } 
+0

它也不工作检查此链接:http://mobileapi.jobseeders.com/index.aspx 按第二个按钮 – user3462829 2014-09-01 11:00:40

+0

设置断点使用调试程序,然后检查并告诉我'myIP'的值 – 2014-09-01 11:04:49

+0

myIP值= :: 1 – user3462829 2014-09-01 11:09:28