确定客户端的计算机名称

Jim*_*mmy 40 c# asp.net-mvc

我正在构建一个内部网站点,它将根据计算机名称显示不同的列表,因为不同的计算机位于不同的区域,是否有办法(在控制器或模型中)确定客户端的计算机名称?

我已经尝试过system.environment.machinename,但只返回服务器的名称,还有其他想法吗?

Jim*_*mmy 49

我使用以下方法工作:

string IP = Request.UserHostName;
string compName = CompNameHelper.DetermineCompName(IP);
Run Code Online (Sandbox Code Playgroud)

来自compnamehelper的代码:

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果客户端位于NAT后面,这不会给您预期的结果,但是由于您在"Intranet"上,因此它可能不是问题. (3认同)