首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在c#和asp.net中获取客户机主机名、本地计算机名和用户名

如何在c#和asp.net中获取客户机主机名、本地计算机名和用户名
EN

Stack Overflow用户
提问于 2012-07-11 00:20:33
回答 2查看 27.4K关注 0票数 5

我有IP地址,但由于某些原因,我可以正确解析名称以显示本地计算机名称。我试了几次,所有的都显示了服务器的主机名?

代码语言:javascript
运行
复制
    ipadd = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    IPAddress myIP = IPAddress.Parse(ipadd);
    IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);


    //userhostname = System.Environment.MachineName;
    //userhostname = Dns.GetHostName(); //Resolve ServerHostName not computer
    //userhostname = HttpContext.Current.Request.UserHostName;
    //userhostname = HttpContext.Current.Request.UserAgent;
    userhostname = GetIPHost.HostName;

对于用户名,我尝试使用

代码语言:javascript
运行
复制
nametext = WindowsIdentity.GetCurrent().Name;
//Shows server name when deployed on server 
//when debuging and running localy shows correctly current user logged in

//nametext = HttpContext.Current.Request.ServerVariables["LOGON_USER"]; 
// not returning anything

我切换了身份验证,但没有结果

代码语言:javascript
运行
复制
<authentication mode="Forms">
<authentication mode="Windows">
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 00:25:03

使用HttpRequest.UserHostAddressHttpRequest.UserHostName作为客户端IP和计算机名称。

假设您已正确配置了身份验证,则可以从IIdentity.Name获取客户端用户。

Page的上下文中,您可以使用Request.UserHostAddressRequest.UserHostNameUser.Identity.Name

票数 7
EN

Stack Overflow用户

发布于 2016-09-26 21:06:40

我使用它来显示我的intranet上的客户端语言环境机器(使用System.Net):

代码语言:javascript
运行
复制
Dns.GetHostEntry(Request.UserHostAddress).HostName.ToString()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11417640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档