方式一:利用.NET自带的类库直接就可以获得
运行结果:
计算机名称: lenovo-05d886ff
MAC地址: 00:26:22:05:8C:C7
注意:上传到服务器测试,发现获得的是服务器的MAC地址
方式二:通过win32特性获得
优点:无需在客户端设置;
缺点:无法获取服务器的mac(经测试总为0,其实感觉没有必要获取服务器的mac,所以也不算缺点)(能否跨网段获取还没有测试)
运行结果:
正在访问Localhost!
注意:上传到服务器测试,发现获得的是服务器的MAC地址
方式三:通过javascript加载ActiveX来实现:
优点:任意获取mac地址(可以跨网段获取);
缺点:需要在客户端浏览器中将activeX的选项全部打开,否则获取不到,所以不怎么稳定;
前台代码:(WebForm3.aspx)
后台代码:(WebForm3.aspx.cs)
运行提示:
启用未标记为可安全执行脚本的ActiveX
第一步:工具->Internet选项
第二步:安全->Internet->自定义级别
第三步:启用“对未标记为可安全执行脚本的ActiveX控件初始化并执行”,如下图所示:
运行结果:
总结:感觉第一种方法还是方便,第二种方法获得不到服务器的MAC地址,第三种方法还需设置,两个字“不爽”。
参考:http://www.xueit.com/asp.net/show-6092-1.aspx