UWP 创建 *** 连接

Posted

技术标签:

【中文标题】UWP 创建 *** 连接【英文标题】:UWP create *** connection 【发布时间】:2018-04-27 02:38:12 【问题描述】:

目前我正在尝试弄清楚如何添加 *** 配置文件并从我的通用应用程序连接到它。我可以使用 Windows.Networking.*** 命名空间连接到现有的 *** 连接。我也可以添加配置文件,但找不到设置所有必需信息的方法(例如 PSK)。 MS 文档中没有关于此命名空间的文档。我还看到有两个不同的配置文件命名空间可用:***NativeProfile***PlugInProfile。它们之间有什么区别?目前我不在家,所以我无法提供我当前的代码,但如果有人能给我一些提示,那将非常有帮助。其他地方有可用的文档吗?

编辑 1// 这是我的示例代码

创建个人资料

***ManagementAgent mgr = new ***ManagementAgent();

***NativeProfile profile = new ***NativeProfile()

    AlwaysOn = false,
    NativeProtocolType = ***NativeProtocolType.L2tp,
    ProfileName = "MyConnection",
    RememberCredentials = true,
    Require***ClientAppUI = true,
    RoutingPolicyType = ***RoutingPolicyType.SplitRouting,
    TunnelAuthenticationMethod = ***AuthenticationMethod.PresharedKey,
    UserAuthenticationMethod = ***AuthenticationMethod.Mschapv2,
;

profile.Servers.Add("***.example.com");

***ManagementErrorStatus profileStatus = await mgr.AddProfileFromObjectAsync(profile);

连接到 ***

PasswordCredential credentials = new PasswordCredential

    UserName = "username",
    Password = "password",
;

***ManagementErrorStatus connectStatus = await mgr.ConnectProfileWithPasswordCredentialAsync(profile, credentials);

这可行,但我不知道在哪里或如何设置 PSK。

【问题讨论】:

win-universal-app 标签应与使用的操作系统(Windows 8.1 或 Windows 10)结合使用。 用示例代码编辑了问题。 我运行了您的代码,但它并没有在我这边创建新的连接。我在 Connections 中看不到任何内容(在 Windows 10 中)。基本上,这个 Native Profile 只允许你将你的 UWP 应用程序连接到 ***?或者它允许您通过 *** 路由来自整个计算机的全部流量? 对不起,这是我的错,您必须设置“Require***ClientAppUI = true”才能看到连接。不,它应该允许通过 *** 的所有流量路由,但您也可以使用带有“RoutingPolicyType”设置的拆分隧道。 好的,谢谢您的回答。在我这边,当我尝试连接时,***ManagementErrorStatus 设置为“其他”。你也遇到同样的错误吗? 【参考方案1】:

*** 原生配置文件:这是指 Windows 收件箱/内置 *** 配置文件,可用于基于 L2TP、PPTP 或 IKEv2 的 ***

*** 插件配置文件:指基于 Windows 10 UWP 的 *** 插件。这是一个使用 Windows.networking.*** 命名空间编写的 *** 应用程序。

我还查看了代码,可以看到似乎有一个非常明显的遗漏,其中没有真正通过代码设置 PSK 的方法。唯一真正的解决方法是暂时在设置 UI 中进行设置。

我会继续向 Windows 的 *** 团队报告这个丢失的情况。

文档链接:https://docs.microsoft.com/en-us/uwp/api/windows.networking.***

【讨论】:

谢谢阿曼阿内哈。还可以从 xml 字符串添加新的 *** 连接。也许它会以这种方式工作,设置 PSK,但我找不到这样的 xml 的完整示例。 不幸的是,我认为 AddProfileXMLAsync 函数也存在一个突出问题。也向团队报告了这一点 好的,谢谢。是的,经过一些测试,我发现每次的状态都是“AccessDenied”。 Aman Arneja:如果您能帮助我们解决这个问题,那就太好了。有更多人需要 UWP *** 功能的示例代码,尤其是 *** Native Profile。 我确实有一些工作示例,我可以将它们放在 git repo 中并尽快分享。同时,您是否需要帮助的特定配置?

以上是关于UWP 创建 *** 连接的主要内容,如果未能解决你的问题,请参考以下文章

[UWP]如何使用代码创建DataTemplate(或者ControlTemplate)

为 uwp 创建包时出错

创建辅助窗口时的 UWP 自定义构造函数

UWP 创建防火墙规则

如何为通用 Windows 平台(UWP)应用程序创建 .appx 包?

UWP - 创建推送通知通道错误