0

目前我正在使用从外部站点HttpWebRequest提取json数据,并且性能不佳。wcf好多了?

我需要这方面的专家建议..

4

3 回答 3

0

最简洁的答案是不。

更长的答案是 WCF 是一种 API,它不指定通信方法,但支持多种方法。但是,这些方法通常是通过 SOAP 进行的,这将比 JSON 涉及更多的偷听,而且似乎世界已经决定从 SOAP 继续前进

你在寻找什么样的表现,你会得到什么?您可能只是面临网络位置的物理限制,在这种情况下,您可能希望让您的界面感觉更灵敏,即使数据缓慢。

看看大部分延迟是否只是到达远程站点是值得的(例如响应时间与 ping 时间相当)。或者,问题可能是远程站点生成和提供页面所需的时间。如果是这样,一些中间缓存可能是最好的。

于 2010-02-12T03:46:04.367 回答
0

可能不是,但这不是正确的问题。

回答:当然支持JSON的WCF,最终还是要HttpWebRequest在底层使用,肯定会有同样的网络延迟。更重要的是,它将使用相同的服务器来获取 JSON。WCF 在构建、维护和配置 Web 服务和客户端方面有很多优势,但它的速度并不神奇。与 WCF 默认使用的方法相比,您的反序列化 JSON 方法可能真的很慢,但我对此表示怀疑。

这就引出了真正重要的一点:找出性能不好的原因。如果您知道什么是慢的,那么更改框架只是一个可理解的优化选项,并且通过扩展,如何做一些不同的事情会使其不那么慢。是服务器吗?是反序列化吗?是网络吗?是身份验证还是其他一些请求开销细节?等等。

所以真正的答案是:简介!一旦您知道性能问题到底是什么,您就可以就 WCF 之类的框架是否有帮助做出明智的决定。

于 2010-02-12T04:01:36.390 回答
0

关于艾萨克所说的 +1,但我要补充的一件事是,如果你在这里使用 WCF,它会在大多数地方内部使用 HttpWebRequest,所以你绝对不会获得性能。然而,您可能无意中获得性能的一种方式是 WCF 如何在内部回收、重用、池化和缓存大多数传输对象。所以最终还是要回到 Isaac 关于剖析的建议。

于 2011-03-06T23:46:58.697 回答