一、在开发过程中,不管是.Net、C#还是一些其他的开发语言,一些操作都会要求写入到数据库日志表中,并且要求记录用户登录名、操作内容、登录时间、本机IP地址,这就需要我们定义一个方法,方便程序中调用!方法可以定义为一下:
/**********通过DNS获取本机IP地址***************/
private static string GetLocalIPAddr(string HostIP, string strHost)
{
string strHostIP = "";
//获取本地主机的地址信息 及与主机关联的IP地址列表
IPHostEntry oIPHost = Dns.Resolve(Environment.MachineName);
if (oIPHost.AddressList.Length > 0)
{
strHostIP = oIPHost.AddressList[0].ToString();
}
return strHostIP;
}
public string strHostIP { get; set; }
public string strHost { get; set; }
比如有个登录按钮需要记录登录信息,
/*************登录操作**************/
private void btnLog_Click(object sender, EventArgs e)
{
string IP = "";
.........其他要实现的代码
...........
//调用获取本地主机地址的方法,取得IP地址 并把登录成功信息写入LOG日志表中
IP = GetLocalIPAddr(strHostIP, strHost);
DataControl.writeLogs(User.ToString(), "登录", DateTime.Now.ToString(), IP);
MessageBox.Show("登录成功!");
}
二、第二种方法也可以这么直接写:
//获取本机IP地址
string strIP = "";
string hostName = Dns.GetHostName(); //获取本地计算机主机名
IPHostEntry Entry = Dns.GetHostByName(Dns.GetHostName()); //获取DNS主机名的DNS信息,返回指定地址的主机信息
IPAddress pAddress = new IPAddress(Entry.AddressList[0].Address);
strIP = pAddress.ToString();
DataControl.writeLogs(tbUser.Text.ToString(), "登录", DateTime.Now.ToString(), strIP );