Uwp 为什么我的应用程序web链接捕获域上的任何路径?

Uwp 为什么我的应用程序web链接捕获域上的任何路径?,uwp,windows-10,Uwp,Windows 10,我有一个Windows 10应用程序和一个网站。我想使用它来允许用户选择打开我的应用程序,而不是浏览器,以查看他们从(比如)我发送的电子邮件中单击的某些链接 按照指南中的说明进行操作后,我在大部分时间内都已将事情安排妥当。它甚至可以工作,当我点击/单击指向网站URL的链接时启动我的应用程序,我想重定向到我的应用程序,而不是在浏览器中打开。问题是它总是有效的,即使在不应该的路径上也是如此 网站JSON文件的这一部分暗示,我在JSON文件中提供的路径类似于白名单,而被排除的路径则充当黑名单,用于过滤

我有一个Windows 10应用程序和一个网站。我想使用它来允许用户选择打开我的应用程序,而不是浏览器,以查看他们从(比如)我发送的电子邮件中单击的某些链接

按照指南中的说明进行操作后,我在大部分时间内都已将事情安排妥当。它甚至可以工作,当我点击/单击指向网站URL的链接时启动我的应用程序,我想重定向到我的应用程序,而不是在浏览器中打开。问题是它总是有效的,即使在不应该的路径上也是如此

网站JSON文件的这一部分暗示,我在JSON文件中提供的路径类似于白名单,而被排除的路径则充当黑名单,用于过滤返回的路径

使用下面的JSON文件,我希望只截取类似URL的URL,但我发现它捕获了指向我域的所有链接

[{
  "packageFamilyName": "<MyPackageName>",
  "paths": [ "/redirect*" ],
  "excludePaths" : [ "/#*", "/shared*" ]
}]
[{
“packageFamilyName”:“,
“路径”:[“/redirect*”],
“排除路径”:[“/#*”,“/shared*”]
}]
最初,我只包含了我想要使用的路径,假设它是应用程序截获的唯一路径,然后我添加了excludepath,以尝试过滤掉我明确不想截获的路径。我曾经尝试过使用或不使用前导斜杠和尾随星号,但都没有达到预期效果


有人知道为什么它过于贪婪吗?我该如何解决它?

事实证明,罪魁祸首是手机上的开发者模式(设置->更新和安全->开发者)。除了允许您部署和调试应用程序外,它显然还使手机为您提供对已部署应用程序清单中定义的域的完整URL拦截权限。它使测试功能变得更容易,而不需要在服务器上实际安装一些东西,但我不希望它在我实际安装文件时继续这样做

如果您想测试真实世界的行为,解决方案是关闭开发人员模式。将您的手机切换到“侧载应用程序”并使用它

请记住在之后将其切换回完全开发者模式,否则当您再次尝试将应用部署到手机时,VS将崩溃。

类似的回答来自:

在计算机上运行时,您观察到的行为是预期的 它们处于开发人员模式。json文件仅适用于零售 机器或处于“侧加载应用程序”模式的机器上