万事如意,
我们正在创建一个在企业防火墙后面使用的 Windows 8 Metro 应用程序,但在通过 WNS 支持推送通知时,代理配置存在问题。
系统代理为桌面配置良好,并且通过查看时也正确配置
netsh winhttp show proxy
我有一个非常简单的应用程序来重现这些问题。通过以下代码进行正常的网络请求时:
var req = WebRequest.Create("https://sincd.wns.windows.com");
var response = await req.GetResponseAsync();
TxtMessage.Text = "Content-Length: " + response.ContentLength;
我正确地取回了数据,wireshark 跟踪显示了按预期连接到内部代理的数据包。
不幸的是,试图通过
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
无法返回(导致超时)。wireshark 跟踪显示了三个尝试直接连接到上游服务器(即不是代理),如下所示:
No. Time Source Destination Protocol Length Info
4 0.404841 10.65.94.80 sincd.wns.windows.com TCP 66 netadmin > https [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
5 3.406263 10.65.94.80 sincd.wns.windows.com TCP 66 netadmin > https [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
6 9.406293 10.65.94.80 sincd.wns.windows.com TCP 62 netadmin > https [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1
从调用 NetworkInformation.GetProxyConfigurationAsync() 返回的 ProxyConfiguration 信息也显示了正确配置的代理条目。
有没有办法手动配置 PushNotificationChannelManager 的代理信息?
干杯,