c# 获取MAC地址

在很多记录日志的时候,通常也会记录电脑的mac地址,C#有很多种获取mac地址的方式,我个人觉得比较简单的方式就是通过NetworkInterface获取MAC地址,因为代码简单而且还可以获取多个mac地址。

下面的方法是获取第一个mac地址,毕竟有些电脑会有多个网络接口。

 #region 通过NetworkInterface获取MAC地址
        /// 
        /// 通过NetworkInterface获取MAC地址
        /// 
        /// 
        public static string GetMacByNetworkInterface()
        {
            try
            {
                NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
                foreach (NetworkInterface ni in interfaces)
                {
                    return BitConverter.ToString(ni.GetPhysicalAddress().GetAddressBytes());
                }
            }
            catch (Exception)
            {
            }
            return "00-00-00-00-00-00";
        }
 #endregion

注意:有一种方式通过SendARP读取MAC地址,测试时在本机是可以获取,但是发布到服务器上,是无法获取mac地址,而且还很耗时,至少要消耗3s的时间,刚开始的时候就是采用这种方式,测试项目的时候,发现提交保存数据都很慢,还以为是日志没有异步保存,后来才发现是这个问题,目前不知道什么原因。


你可能感兴趣的:(C#)