1

我需要一点帮助来在 MVVMCross 的便携式库中启用 Windows Phone 上的 GZip 压缩。

我有 WCF 服务,我尝试与 WP 连接,但几秒钟后我发现远程服务器未找到。我尝试通过silverlight连接,它工作正常。几个小时后,我猜 - 感谢提琴手 - 我的问题在于压缩,数据被压缩并且 WP 不读取它。我还尝试在 IIS 配置中关闭压缩,但问题仍然存在 - (使用提琴手检查,Accept-Encoding: gzip,delate,sdch; Content-Encoding:none)。它与任何默认的 WindowsPhone 客户端以及由新项目创建的任何默认 WCF 服务一起使用。

任何想法都非常受欢迎。提前致谢

我的代码是:

WcfMobileServiceClient db = 新 WcfMobileServiceClient();

db.CheckConnectionCompleted += (sender, args) =>{};

db.CheckConnectionAsync("test");

更新:将 WindowsPhone 连接到 WCF 的问题在于 VS2012 上的 WP8 模拟器 - 它有一个隔离的网络。更多信息在这里:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj684580 (v=vs.105).aspx

4

2 回答 2

0

听起来这与 PCL 无关,也与 MvvmCross 无关——首先研究如何在 WP 中使用 WCF 解决它,然后再担心添加接口或抽象层来使用 PCL 中的压缩代码。


AFAIK,这只是 WindowsPhone 上的一个问题——我相信 Droid、Touch、WPF 和 RT 都支持压缩而不需要额外的代码。

但是,WindowsPhone 的 Compact Framework 中的网络堆栈不支持 GZip - 因此您必须要么不请求 GZip 数据(这对网络性能不利),要么您必须提供自己的解压缩实现。

在非 PCL 项目中,提供压缩支持相当简单——有几种可用的解决方案——例如

一旦你得到这个工作,那么你应该能够使用像依赖注入这样的技术在 PCL 项目中使用它(参见你之前的问题Connecting MVVMCross Portable connect to WCF DataService. Is it possible?

于 2013-02-18T20:58:16.953 回答
-1

查看适用于 Windows Phone 的 GZipWebClient。

https://github.com/dotMorten/SharpGIS.GZipWebClient

于 2013-02-18T23:05:11.140 回答