【发布时间】:2012-02-17 23:27:11
【问题描述】:
我有一个托管在 IIS 中的 .NET Web 服务。在过去几年中,客户端一直在使用 Web 服务,当客户端连接速度较慢(例如 GPRS)时,偶尔会发生超时事件。另一方面,客户端有时必须将一些数据发布到另一个网页(ASP.NET Web 应用程序的一部分),并且通常 POST 请求中的数据大小大于 Web 服务调用中的实际负载。但是,与 Web 服务调用相比,POST 请求要快得多。
为了进一步确定这一点,我使用一种方法和另一个具有完全相同操作的单个网页创建了一个测试 Web 服务,即接收 100K 并发送回 100K(随机字节),我使用测试客户端将 Web 服务方法调用为以及在网页上发布的帖子并使用相同的客户端得到回复。接收来自网络服务的回复和来自网络发布请求的回复之间的差异是巨大的,即大约 1200 毫秒。为什么会这样? Web 服务上是否有任何这样的配置会产生如此大的差异?它是 SOAP 调用堆栈吗?序列化/反序列化?
【问题讨论】:
标签: asp.net web-services iis web-applications