Comment désactiver la mise en cache CRM 2011 Xrm?
-
25-10-2019 - |
Question
J'ai un problème avec la mise en cache de crm 2011. Je ne ai pas besoin, mais je ne sais pas comment le désactiver.
D'abord, je produis ceci:
CrmSvcUtil.exe /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration »/ out: Outputcs /url:https://crmaddress/XRMServices/2011/Organization.svc / Nom d'utilisateur: usr / mot de passe: pw / Espace de noms: ns / serviceContextName: XrmServiceContext
alors j'ai le code suivant:
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();
}
Que dois-je faire pour désactiver le cache?
La solution
Spécifiez le service dans votre fichier de configuration:
<microsoft.xrm.client>
<services>
<add name="Xrm" type="Microsoft.Xrm.Client.Services.OrganizationService, Microsoft.Xrm.Client"/>
</services>
</microsoft.xrm.client>
Autres conseils
Une autre dérivation j'ai trouvé qui peut être utilisé, ce ne est pas parfait et les gens pourraient me donner de mauvaises critiques.
Mais vous pouvez toujours utiliser une requête qui change toujours avec un nombre aléatoire ou tout autre code aléatoire:
Random r = new Random();
int rInt = r.Next(-100000000, 100000000);
var l = _crmService.EntitySet.where(m => m.name == "a" && m.name!=rInt.ToString()).ToList();