最近做了个后台服务需要多台机器同时执行若干任务,我在数据库里给每个任务配置了一个机器的ip地址,以便让每台机器上的服务启动的时候知道哪些任务是自己要执行的。结果为了个小问题折腾了半天,那就是服务如何获取本地ip地址。下面是代码,一般取第一个地址就OK了。
foreach( IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if(ip.AddressFamily == AddressFamily.InterNetwork)
{
//下面的地址格式为xx.xx.xx.xx,例如192.141.23.1
string ipAdd = ip.ToString();
Console.WriteLine(ipAdd);
}
}