我正在尝试使用上一个CRM SDK中的CrmServiceClient类从Dynamics 365环境中检索数据。
CrmServiceClient缓存连接信息,即使创建并处理了新的CrmServiceClient实例,也。我的应用程序连接到不同的CRM网址,因此我使用标志“RequireNewInstance = true;”在连接字符串中以避免缓存。
使用此标志时,性能非常差(检索任何数据的时间超过30秒)。
任何线索如何在访问不同的在线CRM时获得可接受的性能?
这是一个简单的示例代码,但任何服务调用都需要花费大量时间,而不仅仅是:
string connectionString="Url=https://myTest.api.crm.dynamics.com/; Username=myUser@myTest.onmicrosoft.com; Password=myPassword; AuthType=Office365;RequireNewInstance=true;";
using (var client = new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString))
{
var orgService = (IOrganizationService)client.OrganizationWebProxyClient ?? client.OrganizationServiceProxy;
var response = (RetrieveVersionResponse)orgService.Execute(new RetrieveVersionRequest());
}
注意:我以前使用以前SDK中的CrmConnection类,这有更好的响应时间,但现在不能用于在线访问CRM(v 8.1.1或更高版本)