【问题标题】:What is an app container on Windows?什么是 Windows 上的应用容器?
【发布时间】:2017-07-04 09:09:27
【问题描述】:

我正在尝试调试使用NetworkIsolationEnumAppContainers() 的代码。函数的文档说,

"The NetworkIsolationEnumAppContainers function enumerates all of the app containers that have been created in the system."

上述定义中的应用容器是什么意思?我对 Linux 容器技术(尤其是 LXC)有一些经验。它们是否相同(或概念上相似)?您能否指点我一份文档,该文档提供了对应用容器的深入技术描述。

【问题讨论】:

  • 这是一个逻辑概念,表示 UWP 应用运行的沙箱。它主要充当安全边界,确保应用程序不能做任何违反清单中请求的功能的事情。让人们对从商店下载这样的应用程序感觉良好。您可以简单地将其替换为“UWP 进程”。

标签: windows uwp windows-firewall-api


【解决方案1】:

AppContainers 是一种沙盒机制,用于控制 UWP 应用可以访问或不可以访问哪些资源。 UWP 应用只能访问文件系统、注册表等的有限部分......应用容器还强制执行一些有关网络连接的规则。例如,UWP 应用无法访问 localhost。网络功能由 UWP 应用程序的清单驱动,该清单必须声明它想要做什么(客户端、客户端+服务器)。根据应用程序的声明,服务器将允许或不允许网络。

您应该可以在此处找到更多详细信息:

【讨论】:

  • 这是否意味着某些 UWP 应用会被 NetworkIsolationEnumAppContainers() 检测到,而有些则不会。即虽然所有 UWP 应用程序都有一个关联的容器,但有些应用程序可能与网络无关,因此使用此 API 可能无法检测到。我要解决的问题是某些 UWP 应用没有被检测到。
  • 这就是我的猜测。没有任何网络能力的 UWP 应用没有任何理由暴露于网络隔离层(即使它们仍在应用容器内)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 2011-03-23
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 2017-06-25
相关资源
最近更新 更多