WinJS.xhr:网络错误0x2efd,由于错误00002efd无法完成操作

Jir*_*zin 9 xmlhttprequest winjs

在JavaScript中开发Windows 8 Metro应用程序时,我遇到WinJS.xhr问题.

WinJS.xhr({ url: "http://www.seznam.cz"});
Run Code Online (Sandbox Code Playgroud)

执行上面的代码时,我在日志中看到:

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete
the operation due to error 00002efd.
Run Code Online (Sandbox Code Playgroud)

我在清单中启用了"Internet(客户端)"功能.

也许问题是因为我支持代理和使用VPN,但我可以使用谷歌浏览器访问互联网(我只需要授权,否则需要HTTP状态407 - 代理授权).

我该如何解决?

[编辑] 所以我发现它可能与我必须使用的VPN(Cisco VPN客户端)有关.当我禁用VPN时,即使我在代理后面(我使用LAN,使用VPN我使用WiFi),请求也可以.也许它只与Cisco VPN相关.我不得不修改注册表,因为它在这里描述http://verbalprocessor.com/2012/09/17/windows-8-and-cisco-vpn-client/

同样有趣的是,当我在代理后面时,一些Metro应用程序工作(地图),有些不起作用(Windows商店).

只是一个通知:我已经探索了Windows.Networking.Connectivity,在两种情况下(有/没有VPN)我得到NetworkConnectivityLevel =="本地访问"(因为我可能在代理的后面).

小智 16

连接到我的工作场所SSL/VPN连接(来自Juniper)时,我收到了同样的错误.

打开.appxmanifest文件并添加"专用网络(家庭和服务器)"功能解决了这个问题.

<Capabilities>
  <Capability Name="internetClient" />
  <Capability Name="privateNetworkClientServer" />
</Capabilities>
Run Code Online (Sandbox Code Playgroud)


myt*_*nts 1

这个解决方案对我有用(请参阅下面的论坛链接)...本质上,您需要将服务器的证书添加到 Windows 应用商店应用程序清单(还要确保您的清单“功能”至少设置为“InternetClient”)。您可以通过从浏览器导出服务器的证书来获取服务器的证书,保存为“.der”文件。使用 Firefox 比 IE 更容易执行此操作(从 FF 浏览到具有证书的目标域,然后右键单击页面 > 页面信息 > 安全选项卡 > 详细信息选项卡 > 导出按钮 > 另存为“.der”。

http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/4a776e8c-0e10-4f03-908f-7f765d914080?prof=required

这个解决方案似乎很荒谬 - 因此请记住,这可能仅对于使用自签名证书的站点(例如在开发环境中)来说是必要的,因为此过程对于其他生产站点来说不是必需的。