【发布时间】:2014-02-14 17:00:50
【问题描述】:
我的 iOS 应用对我的 WCF Web 服务进行 Rest 调用。
响应速度很慢,超过3分钟。
但是,当我将 Fiddler 设置为代理来监控 iOS 流量时。通话在 1 秒内结束。
是什么让 Fiddler 神奇地加速了 iOS 的 Rest 调用?
附言Fiddler 安装在与 iOS App 使用同一网络的 Windows PC 上。
其余调用示例(来自 Fiddler)
请求
GET https://xxxx.xxxx.com/Deals HTTP/1.1
Host: xxx.xxxx.com
Proxy-Connection: keep-alive
Accept-Encoding: gzip
Content-Type: application/json
Cookie: ASPXAUTH=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection: keep-alive
User-Agent: Natural xxxx x.x.x (iPad; iPhone OS 7.0.2; en_US)
回应
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 891437
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
LastFetchDateTimeUTC: 2014-02-14T16:52:43.5465273Z
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 14 Feb 2014 16:52:45 GMT
响应正文是一个大的 json (2MB)
附言
除了 Fiddler,我们还尝试安装 wireshark 并在模拟器上运行应用程序时使用它来捕获 mac 上的流量。 我们看到很多 DUP ACK,我猜这是导致 tcp 重新传输的原因
附言
我们也从 iOS ping 通,WCF 网络服务没有延迟。
救命!
更新:
我们发现了一个问题,看起来响应时间随着身体的长度而减少。有什么意思吗?
【问题讨论】:
-
我投票决定关闭,因为 OP 的解决方案使回想起来偏离了主题(这不是编程问题)。
标签: wcf debugging rest fiddler