我正在 Visual Studio 2017 中使用 VB 编写一个非常简单的通用 Windows 应用程序。
该应用程序应向用户提供基本的网络信息,因此我想使用 IPGlobalProperties
收集数据并打印(作为第一个示例)名为 的 TextBlock 中的
DomainName
>文本域
Dim NetworkProperties As NetworkInformation.IPGlobalProperties
NetworkProperties = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties
textDomain.Text = NetworkProperties.DomainName
虽然在前两行代码中正确分配了属性,但第三行代码导致错误 System.PlatformNotSupportedException: 'Operation is not supported on this platform.'
我在经典的 Windows 应用程序上尝试了相同的代码并且它按预期工作,那么通用应用程序不支持此操作吗?
如果是,我应该使用什么方法来获取有关网络的相同信息?
感谢您提供的任何帮助
卢卡
最佳答案
首先,IPGlobalProperties
类在 uwp 应用程序中不受支持。由于 .NET for UWP 应用程序提供了一组托管类型,您可以使用它们来创建通用 Windows 平台应用程序,但不是全部。详情请引用.NET for UWP apps . System.Net
命名空间可以在 uwp 应用程序中使用,但 IPGlobalProperties
不能。
其次,您可以在 uwp 应用程序中找到等效或相似的 API。例如,您还可以找到 NetworkInformation
在属于 Windows.Networking.Connectivity
命名空间的 uwp 中。但是调用这个类的方法和System.Net.NetworkInformation
是不一样的。命名空间。
如果你想像IPGlobalProperties
那样获取计算机名或域名,你可以调用GetHostNames()
方法。代码如下:
Imports Windows.Networking.Connectivity
''' <summary>
''' An empty page that can be used on its own or navigated to within a Frame.
''' </summary>
Public NotInheritable Class MainPage
Inherits Page
Private Sub btngetinfo_Click(sender As Object, e As RoutedEventArgs)
Dim hostNames = NetworkInformation.GetHostNames()
textDomain.Text = hostNames.First.ToString
End Sub
End Class
关于vb.net - 在 UWP 应用程序上使用 VB.net 获取 IPGlobalProperties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004288/