我一直试图通过使用WifiAdapter检索可用网络列表。我已经在一个控制台应用程序中测试了一个可行的解决方案:
List<WiFiAvailableNetwork> networks = new();
IEnumerable<WiFiAdapter> adapters = await WiFiAdapter.FindAllAdaptersAsync();
foreach (WiFiAdapter adapter in adapters)
{
foreach (WiFiAvailableNetwork network in adapter.NetworkReport.AvailableNetworks)
{
networks.Add(network);
}
}
return networks;
但是,一旦在我的blazor wasm项目中设置了这个解决方案,它就会崩溃,并出现以下例外:System。TypeInitializationException: Windows.Devices.WiFi的类型初始化器。WiFiAdapter'抛出异常。d.printErr @ blazor.webassembly.jsblazor.webassembly.js: 1——比;系统。DllNotFoundException: api -女士赢得核心- winrt字符串- l1 - 1 - 0. - dll
我一直在寻找答案,但我没有找到任何相关的解决方案。关于如何解决它/为什么会发生这种情况,有什么想法吗?
提前感谢!
并非所有环境都支持。net平台的所有部分。
Blazor WebAssembly将不会从Windows运行任何东西。* .
当你想要访问某些设备时,你必须研究JavaScript是否以及如何使用它。
您可以使用实验在Blazor WASM中通过JSRuntime调用。
看这里:https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API