Quantcast
Channel: Microsoft Dynamics CRM
Viewing all articles
Browse latest Browse all 123975

Blog Post: [CRM 2011] Error intermitente usando RetrieveMultiple: Index was out of range. Must be non-negative and less than the size of the collection

$
0
0
Hace unas semanas me encontraba un error bastante interesante (de los hacen romperte un poco la cabeza Tongue out)  llamando a los servicios de CRM, concretamente usando el mensaje RetrieveMultiple. Basicamente, un servicio WCF personalizado llamaba a aquellos y repentinamente nos encontrabamos un error similar al descrito en el siguiente MSDN Forum post
Después de darle unas cuantas vueltas, resultó ser un problema multi-thread relacionado con IServiceConfiguration y IServiceManagement, los cuales son internamente compartidos. IServiceConfiguration no es"safe thread". De hecho, importante recordar que early-bounds types tampoco lo son. (Darle un ojo al siguiente artículo: http://technet.microsoft.com/en-us/library/gg326004.aspx)
Finalmente, un buen compromiso y simple solución para resolver este problema fue un pequeño ajuste en el objeto de conexión:
CrmConnection crmConnection = new CrmConnection("myCRMConnection");  crmConnection.ServiceConfigurationInstanceMode = ServiceConfigurationInstanceMode.PerInstance;  using (CRMContext serviceContext = new CRMContext(crmConnection))  {  …  }
ServiceConfigurationInstanceMode.PerInstance fue la cable.
En relación a este tema, recomiendo leer el siguiente artículo, publicado en una de las últimas SDKs (5.0.12):
 

Viewing all articles
Browse latest Browse all 123975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>