Windows.Networking 命名空间

提供对网络应用使用的主机名和终结点的访问权限。

类

名称 说明
EndpointPair

表示用于启动或描述网络连接的本地和远程主机/服务标识符(主机名或 IP 加上服务名称或端口)的配对。

HostName

表示Windows网络 API 使用的主机名或 IP 地址(域、IPv4、IPv6 或蓝牙)。

枚举

名称 说明
DomainNameType

HostNameType 是域名时 HostName 对象的域类型。

HostNameSortOptions

EndpointPair 对象列表排序方式的选项。

HostNameType

HostName 对象的类型。

注解

注释

应用框架兼容性:Windows。网络 API 可用于Windows 应用 SDK(WinUI 3)应用和 Win32 桌面应用,而不仅仅是 UWP 应用。 桌面应用可以通过 C#/WinRT 或 C++/WinRT 使用 HostName 和 EndpointPair 对象。 对于打包的桌面应用,网络功能在应用清单中声明的方式与 UWP 应用相同。 默认情况下,未打包的桌面应用具有不受限制的网络访问。 有关详细信息,请参阅在桌面应用中调用Windows 运行时 API。

Windows。网络命名空间提供用于初始化和提供主机名或 IP 地址的数据的类,以及用于网络应用中的网络终结点对的数据。 HostName 和 EndpointPair 对象由其他相关命名空间中的许多类使用。 其中包括:

在Windows Server 2012上,实现Windows中的类的 Windows.Networking.dll。除非启用了 Media Foundation 功能,否则网络命名空间将无法加载。 因此,使用Windows中的类的应用。如果禁用媒体基础功能(Windows Server 2012上的默认值),网络命名空间将失败。

可以使用服务器管理器或在 CMD 窗口或脚本中输入以下命令,在Windows Server 2012启用媒体基础功能。

dism /online /enable-feature /featurename:ServerMediaFoundation Windows Server 2012启用媒体基础功能后,系统会提示用户重新启动。 重启计算机后,Windows中的类。网络命名空间将按预期工作。

使用网络隔离

Windows中的网络隔离功能使开发人员能够完全控制打包应用的网络访问(包括 UWP 和打包Windows 应用 SDK(WinUI 3)桌面应用)。 并非所有应用都需要访问网络。 但是,对于确实需要网络访问的应用,Windows 提供了不同级别的网络访问权限,可以通过选择相应的功能来启用这些权限。

网络隔离允许开发人员为每个应用定义所需的网络访问范围。 如果应用未定义适当的范围,则无法访问指定的网络类型以及特定类型的网络请求(出站客户端发起的请求或入站未请求的请求和出站客户端发起的请求)。 设置和强制实施网络隔离的功能可确保如果应用遭到入侵,则只能访问已显式授予应用访问权限的网络。 这大大减少了对其他应用和Windows的影响范围。

网络隔离会影响Windows中的任何方法和属性。Networking.Sockets,Windows。Networking.BackgroundTransfer,Windows。Web.AtomPub 和 Windows。尝试访问网络的 Web.Syndication 命名空间。 Windows主动强制实施网络隔离。 如果尚未启用适当的网络功能,则调用方法或对这些命名空间中属性的任何访问都可能导致网络访问失败。

生成应用时,应用的网络功能在应用清单中配置。 开发应用时,通常使用 Microsoft Visual Studio 2012 添加网络功能。 还可以使用文本编辑器在应用清单文件中手动设置网络功能。

有关网络隔离的更多详细信息,请参阅 如何配置网络隔离功能。

另请参阅