【发布时间】:2023-09-05 03:32:01
【问题描述】:
我正在使用用于 MS CRM 4.0 的 C# .NET SDK。更特别的是,我使用了 SDK 的 XRM 接口。
当我启动客户端应用程序时,第一个查询(例如获取所有 crm 系统用户)的开销约为 5 秒。开销发生在通过网络发送任何内容之前(在wireshark中观察到)。这就是为什么我猜测延迟与一些 .NET 加载开销有关。
使用 CrmService 时的初始延迟是由两件事引起的。第一的 必须编译 CrmService 代理类(从 IL 到本机)并且 必须加载序列化。这需要大量的处理 因此时间。这种编译只发生在第一次 crmservice 代理是在 AppDomain 中创建的。
第一次在服务器上执行调用时的第二次附加 类等可能需要加载。
.NET 框架的这种正常行为。您可以优化加载时间 通过使用 WSDL 工具生成新的服务代理来为 CrmService 和 清除您不使用的任何请求和对象。做事的问题 这是因为工作量很大。
假设上述解释适用,除了手动编辑生成的代理类之外,还有什么其他方法可以避免延迟?
我尝试了 GAC 和原生镜像 - 没有成功。
【问题讨论】:
标签: .net performance dynamics-crm jit dynamics-crm-4