0

万事如意,

我们正在创建一个在企业防火墙后面使用的 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 的代理信息?

干杯,

4

0 回答 0