所以我正在努力加快我们的应用程序启动时间——而且我已经确定了一个需要解决的主要瓶颈。我们的每个 web 服务客户端类都需要永远和一天的时间来实例化。一些调查显示这完全是由于运行 GenerateXMLMappings 的 SoapHttpClientProtocol。我开始搜索这方面的信息,发现这个 SO post Slow SoapHttpClientProtocol constructor
我已经准备好吹响号角了,因为我的问题反映了信中所说的内容。我经历了第一篇文章中列出的每个步骤,使用 sgen 预生成序列化程序 dll,然后从代码中删除各种标签并将其构建到我在应用程序中作为普通参考引用的普通 dll(相反到网络参考)。然而,毕竟这一切,我在分析应用程序时没有看到任何区别。作为 SoapHttpClientProtocol 构造函数的一部分,GenerateXMLMappings 仍然花费了大量时间。
我已经验证它实际上是在使用我的自定义 web 服务客户端 dll。我还验证了它至少在寻找 XmlSerializers dll(如果我不包含该文件,我可以看到一个 filenotfound 被吐出)。
有没有人有关于 SoapHttpClientProtocol 构造函数如何决定它需要做什么的详细信息?这是一个非常令人沮丧的问题,因为整个过程似乎是黑盒的,没有好的方法可以看到内部实际发生的事情。
在此先感谢您的帮助-我对此完全靠墙。