有关获取本机Ip地址

来源:互联网 发布:php cs fixer v2.phar 编辑:程序博客网 时间:2024/05/01 13:13

一、在开发过程中,不管是.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 );

 

原创粉丝点击