c# 获取MAC地址

来源:互联网 发布:mac怎么下载土豆视频 编辑:程序博客网 时间:2024/05/21 06:21

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

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

 #region 通过NetworkInterface获取MAC地址        /// <summary>        /// 通过NetworkInterface获取MAC地址        /// </summary>        /// <returns></returns>        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的时间,刚开始的时候就是采用这种方式,测试项目的时候,发现提交保存数据都很慢,还以为是日志没有异步保存,后来才发现是这个问题,目前不知道什么原因。