我有一些驻留在asp.net应用程序中的代码,它使用System.Management.ManagementClass查询有关当前硬件的各种详细信息。
我们查看cpu、基板和bios的细节,并将它们用于各种事情,即识别。
因此,现在跨平台与核心clr & asp.net 5,我们需要开始移植我们的代码。
然后问题就变成了如何实现这一点,因为上面提到的类并不存在(从我的搜索)。具体来说,我们正在寻找一种方法,现在跨平台工作是基于硬件的,并为我们提供了一种基于当前硬件生成密钥的方法。因此,只有在设备上更换硬件时,这个键才会发生变化。
发布于 2016-05-23 19:37:21
名称空间System.Management可能永远不会移植到.NET核心,特别是没有跨平台。System.Management是WMI的包装器,它也是一个绑定到Windows的Windows库。据我所知,.NET核心目前没有任何基于硬件的ids可用。
如何实现跨平台:构建一个承载相同契约的两个实现的NuGet包。一种是在net451上使用现有的WMI代码,另一种是使用Linux方法学读取一些序列化。在那里做些调查。/proc文件系统应该有一些,但是您也可以将P/Invoke放入一些linux库中。
https://stackoverflow.com/questions/32435322
复制相似问题