2011-03-14 100 views
1

是否有可能从Windows Phone应用程序中捕获传出的HTTP请求,并如同HTTP服务器发送响应一样来响应它们?从Windows Phone应用程序中捕获传出的HTTP请求

或者,可以在Windows Phone应用程序内部实现一个轻量级http服务器,然后将请求代理到一个在线Web服务器?


快速语境:我研究了ESRI ArcGIS for Windows Phone是否能够适应在离线模式下工作。 ESRI Windows Phone API可以使用RESTful JSON Web服务来加载地图数据,但不支持离线地图。我正在考虑的一个选择是实现API“in-app”中所需的子集,以便地图切片将从存储在手机上的缓存中加载。

实际上,我会构建一个组件作为客户端和Web服务端点之间的代理,并且当应用程序处于脱机模式时,请求将被代理拦截并提供服务,而不是传递给服务器。

任何帮助将不胜感激。

回答

1

以编程方式,目前您无法从应用程序内部跟踪系统范围的HTTP请求。即使对于你的应用程序,你也只能跟踪你自己发起的请求。在封闭(非公开)API中可能存在端点,但官方工具中没有任何端点。

最好的办法是跟踪请求via an external tool(以WireShark为例)。

+0

我开始得出同样的结论。但是,我不需要跟踪系统范围的请求,只需要跟踪我的应用程序提出的请求。我想这对我没有帮助?我不启动请求,而是在包含在我的应用程序中的闭源DLL中进行控制。 – jevakallio 2011-03-15 00:01:29

+0

这里是您的解决方案。目前没有默认代理可用于设备本身。 – 2011-03-15 00:10:51

1

对于WP7应用程序,您可以使用Fiddler捕获和处理网络流量in the emulatoron device

+0

我所追求的是以编程方式捕获和代理生产使用中的请求,而不是使用Fiddler进行调试的方式。或者我错过了你的观点? – jevakallio 2011-03-14 12:51:20

0

从我看到的关于尝试拦截Bing地图控件请求的各种问题和答案,我不认为有可能拦截HTTP请求以进行离线地图显示。

我见过关于离线地图的几个问题 - 包括尝试从隔离存储读取地图图块。可悲的是,现有的控制措施似乎并不支持这一点。

您可能可以创建自己的控件来绘制地图块,但各种语言中都有相当多的示例 - 尽管我没有看到SL块。

对不起,这不是更好的消息!

相关问题