【问题标题】:optimize web service client side performance?优化 Web 服务客户端性能?
【发布时间】:2009-03-03 09:25:46
【问题描述】:

我正在为 ASP.Net asmx Web 服务使用自动生成的代理。我发现将 HttpWebRequest 发送到我的 Web 服务器时,客户端的吞吐量非常好(非常大)。但是当使用自动生成器代理时,它很慢。我想知道一些优化客户端性能的一般方法,尤其是增加吞吐量。如果能通过改变服务器端的一些配置来改进,那就太好了!

顺便说一句:我正在使用 ASP.Net Web 服务的 Web 方法的异步方法调用。

提前致谢, 乔治

【问题讨论】:

    标签: c# asp.net performance service


    【解决方案1】:

    提高代理类构建速度的最佳方法是在您的二进制文件中发送一个XmlSerializers 程序集。如果您在项目属性中选择,则它由 Visual Studio 生成,也可以由 .NET 附带的sgen.exe tool 手动生成。

    【讨论】:

    • 感谢 Mehrdad,我正在使用 VSTS 中的 Add Web Reference 功能自动生成代理代码。在这种情况下,我应该在哪个 DLL 上运行 sgen?
    • 另一条评论,我认为如果我从 Web 服务代理对 Web 服务进行大量顺序调用,它只能第一次提高性能?
    • 是的,我认为它只会影响第一次的性能。不,如果 VS 为你生成它,你不需要单独运行 sgen。
    • 谢谢,我认为这不是我需要的。第一次性能下降并不重要,我关心长期客户端的整体长期性能吞吐量。有没有 idas?