vb.net - 在 UWP 应用程序上使用 VB.net 获取 IPGlobalProperties

标签 vb.net networking windows-10-universal

我正在 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/

相关文章:

.net - 如何使用 Try 和 Catch 在 VB.Net 中重试操作?

c# - C# 混合系统的代理服务器

c# - UWP 应用 : Process Memory Usage vs Heap Usage

c# - WebView - 在每个请求上定义 User-Agent

c# - 使用 AudioGraph (UWP) 混合波形文件

mysql - Crystal 报表公式创建vb.net mysql

vb.net - 编写 Entity Framework SQL 以在 VB 中进行调试

c# - 服务可以写入注册表 [HKLM]

c - 联网L2/L3项目构想?

c++ - TLS 握手消息解析