在.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,网站发布也能生效。