在.NET 中获取一台电脑名,IP 地址及当前用户名是非常简单,以下是我常用的几种方法, 如果大家还有其他好的方法,可以回复一起整理:
1. 在ASP.NET 中专用属性:
获取服务器电脑名:Page.Server.ManchineName
获取用户信息:Page.User
获取客户端电脑名:Page.Request.UserHostName
获取客户端电脑IP :Page.Request.UserHostAddress
2. 在网络编程中的通用方法:
获取当前电脑名:static System.Net.Dns.GetHostName()
根据电脑名取出全部IP 地址:static System.Net.Dns.Resolve( 电脑名).AddressList
也可根据IP 地址取出电脑名:static System.Net.Dns.Resolve(IP 地址).HostName
3. 系统环境类的通用属性:
当前电脑名:static System.Environment.MachineName
当前电脑所属网域:static System.Environment.UserDomainName
当前电脑用户:static System.Environment.UserName
举例子来说明:
方法一:
string hostname;
System.Net.IPHostEntry localhost;
System.Net.IPAddress localaddr;
hostname = System.Net.Dns.GetHostName(); // 获取本地计算机的主机名
localhost = System.Net.Dns.GetHostByName(hostname); // 获取指定DNS 主机名DNS 的信息
localaddr = localhost.AddressList[0]; //localaddr 中就是本机ip 地址
label1.Text = localaddr.ToString();
方法二:
using System.Net;
private void ButtonIP_Click(object sender, System.EventArgs e)
{
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if (addressList.Length>1)
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = addressList[1].ToString();
}
else
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = " 没有可用的连接";
}
}
-------------------------------------------------------
个人添加信息:将配置文件中的 <identity impersonate="true"/> 设置为ture,网站发布也能生效。