Вопрос

У меня проблемы с CRM 2011 Caching. Мне это не нужно, но я не знаю, как это отключить.

Сначала я генерирую это:

Crmsvcutil.exe /codecustomization:"microsoft.xrm.client.codegeneration.codecustomization, microsoft.xrm.client.codegeneration "/out: outputcs/url:https://crmaddress/xrmservices/2011/organization.svc/usernam Пароль: PW /пространство имен: NS /ServiceContextName: xrmserviceContext

Тогда у меня есть следующий код:

   private XrmServiceContext _crmService;

    public CrmWS()
    {
        CrmConnection _connection = new CrmConnection();
        _connection.ServiceUri = new Uri("https://url");

        ClientCredentials credentials = new ClientCredentials();
        credentials.Windows.ClientCredential = new NetworkCredential("1","2","3"); 
        _connection.ClientCredentials = credentials;
        _connection.ClientCredentials.UserName.UserName = "1";
        _connection.ClientCredentials.UserName.Password = "2";
        _crmService = new XrmServiceContext(_connection);

       var l = _crmService.EntitySet.where(m => m.name == "a").ToList();
    }

Что я должен сделать, чтобы отключить кэширование?

Это было полезно?

Решение

Укажите службу в вашем файле конфигурации:

  <microsoft.xrm.client>   
    <services>
      <add name="Xrm" type="Microsoft.Xrm.Client.Services.OrganizationService, Microsoft.Xrm.Client"/>
    </services>
  </microsoft.xrm.client>

Другие советы

Еще один обход, который я нашел, который можно использовать, это не идеально, и люди могут дать мне плохие отзывы.

Но вы всегда можете использовать запрос, который всегда меняется с случайным числом или другим случайным кодом:

Random r = new Random();
int rInt = r.Next(-100000000, 100000000);
var l = _crmService.EntitySet.where(m => m.name == "a" &&  m.name!=rInt.ToString()).ToList();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top