C# 连接到VPN会停止UWP应用程序的internet通信

C# 连接到VPN会停止UWP应用程序的internet通信,c#,windows,uwp,C#,Windows,Uwp,我正在制作一个需要连接到特定支付网关的应用程序。此支付网关限制我们使用其VPN与其API进行通信。问题是,我一连接到这个VPN,UWP应用程序的互联网连接就停止工作。首先,我认为我的应用程序有问题,但即使是像Store和Edge browser这样的标准应用程序也不起作用。请让我知道一个解决办法,使UWP应用程序与VPN一起工作。因为除了UWP以外的其他应用程序功能正常,比如Firefox、IE等,很容易打开网页。Skype桌面工作。。。只是UWP应用程序不起作用 提前感谢。来自(感谢“Ovid

我正在制作一个需要连接到特定支付网关的应用程序。此支付网关限制我们使用其VPN与其API进行通信。问题是,我一连接到这个VPN,UWP应用程序的互联网连接就停止工作。首先,我认为我的应用程序有问题,但即使是像Store和Edge browser这样的标准应用程序也不起作用。请让我知道一个解决办法,使UWP应用程序与VPN一起工作。因为除了UWP以外的其他应用程序功能正常,比如Firefox、IE等,很容易打开网页。Skype桌面工作。。。只是UWP应用程序不起作用

提前感谢。

来自(感谢“Ovidiu Cimpian”)

  • 转到控制面板\网络和Internet\网络连接
  • 打开vpn的适配器
  • 右键单击->属性并转到网络选项卡
  • 选择internet协议版本4(和/或6)->属性->高级
  • 取消选择在远程网络上使用默认网关
这将取决于您如何创建VPN接口,以及对路由的期望以及接口分类

分类:网络分类,如私有、公共、域。您可以通过运行Powershell Commadlet来检查接口分类:

Get-NetConnectionProfile
这将影响UWP流量,因为如果流量试图通过VPN,则需要专用网络功能才能通过标记为专用的接口(并且没有设置其他网络隔离规则) 更多详情请访问:

要检查这是否是一个问题,一个快速的方法是尝试从管理命令提示符下使用收件箱工具,如下所示

checknetisolation Debug -n=<Package Family Name>
checknetisolation调试-n=
您可以通过在Powershell中运行get-AppxPackage命令来获取应用程序的。使用上述命令,系统将提示您使用应用程序并再现问题。一旦它被复制,你将返回应用程序并点击Ctrl+C,如果它检测到由于功能不正确而导致的任何下降,它将显示出来


路由现在,通常在建立VPN连接且未设置任何路由时,会将其标记为强制隧道VPN。这意味着其他接口的默认路由将被禁用,VPN接口的默认路由将被优先化。我不确定这是否是你的意图。如果您只需要使用VPN来与支付网关通信,您应该考虑将VPN拆分隧道化,然后像边缘和存储这样的应用程序继续工作在物理接口上,只要应用程序具有专用联网能力,您的应用程序就可以工作。p> 这似乎是一个普遍的问题,看,他们还没有解决这个问题吗?UWP应用程序上市已经很多年了。这在我的场景中不起作用,因为VPN没有为连接制作新的适配器。虽然我正在处理的项目很旧,但我相信你的解决方案将帮助其他正在解决同样问题的人。