获取用户信息: Page.User
获取客户端电脑名:Page.Request.UserHostName
获取客户端电脑IP: Page.Request.UserHostAddress
这里很明显它获取到的是你的DNS服务器计算机名因为你的web服务器和你的客户机都不在同一个网段,
Request.UserHostName肯定是获取不到的。
这个是一个很常见的问题,Request.UserHostName有的时候获取到的还是IP而不是计算机名字。郁闷~~~我也期待高手来回答这个问题。
using Systemusing System.Collections.Generic
using System.Text
using System.Net
using System.DirectoryServices
namespace Demo
{
public class Demo
{
public Demo() { }
private void GroupInfo()
{
DirectoryEntry MainGroup = new DirectoryEntry("WinNT:")
foreach (DirectoryEntry domain in MainGroup.Children)
{
//this.listView1.Items.Add(domain.Name)此代码获取局域网内的所有机器名
//当局域网内有授权用户是,即TA已经登录成功,获得权限
//System.Net.Dns.GetHostName()获取用户名。
}
}
//通过机器名获取相应IP
private void ComputerInfo(String strname)
{
try
{
DirectoryEntry MainGroup = new DirectoryEntry("WinNT:")
foreach (DirectoryEntry domain in MainGroup.Children)
{
if (domain.Name == strname)
{
foreach (DirectoryEntry pc in domain.Children)
{
IPAddress[] ip = Dns.GetHostAddresses(pc.Name)
//this.listView2.Items.Add(pc.Name + ip[0].ToString())获取IP
}
}
}
}
catch (Exception ex) { MessageBox.Show(ex.Message)}
}
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)