HTML 页面上的 .Net Active-X:无法获取 MAC 地址

发布于 2024-11-17 12:06:55 字数 658 浏览 1 评论 0原文

我尝试从放置在 HTML 网页上的 active-x 获取 mac 地址

 [PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted = true)]
 public string GetMacAddress()
 {
     var nic = NetworkInterface.GetAllNetworkInterfaces()
               .FirstOrDefault(x => x.OperationalStatus == OperationalStatus.Up);
     return nic == null ? null : nic.GetPhysicalAddress().ToString();
 }

,但此代码失败并出现错误:

System.Net.NetworkInformation.NetworkInformationPermission, System, Version=2.0.0.0...

同时代码非常适合桌面应用程序。

我猜想 .net active-x 的使用存在一些限制。

我怎样才能避免这种情况?我可以通过其他方式从 active-x 获取唯一且稳定的工作站 ID 吗?

I try to get mac address from active-x that is placed onto HTML web page

 [PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted = true)]
 public string GetMacAddress()
 {
     var nic = NetworkInterface.GetAllNetworkInterfaces()
               .FirstOrDefault(x => x.OperationalStatus == OperationalStatus.Up);
     return nic == null ? null : nic.GetPhysicalAddress().ToString();
 }

But this code fails with error:

System.Net.NetworkInformation.NetworkInformationPermission, System, Version=2.0.0.0...

Meanwhile code works great for desktop applications.

I guess there are some limitations with .net active-x usage.

How can I avoid that? Can I get unique and stable workstation ID from active-x any other way ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深居我梦 2024-11-24 12:06:55

我在 silverlight 中发现了几个类似的问题:
在 Silverlight 中获取 MAC 地址

看起来由于 .网络安全设置,但我们执行以下操作:

  1. 将 Active-X 主机站点添加到
  2. 客户端计算机上的“受信任”调用:
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe -machine
    -quiet -addgroup Trusted_Zone -site acitve-x-host-site FullTrust -name
    SecutityException -description "..."

最后我决定将 Active-X 重写为 C++\ATL 之一。

I have found several similar issues with silverlight:
Get MAC address in Silverlight

It looks there is no way to get mac address due to .net security settings except we do the following:

  1. Add Active-X Host site to "Trusted"
  2. Call on client machine:
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe -machine
    -quiet -addgroup Trusted_Zone -site acitve-x-host-site FullTrust -name
    SecutityException -description "..."

Finally I decided to rewrite Active-X to C++\ATL one.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文