CRM 2011 with early bounding classes (C#) -> connection pools with on premises server (with AD Creds) RRS feed

  • Question

  • Hi Y'All,

    I'm building / rebuilding a service to continuously sync large quantities of data between a database and a CRM 2011 instance.

    My (C#) solution is for an premises instance with active directory authentication and is based on early binding (and the solution uses many proxy types) and all in all works well!

    However as I expected it would be, performance is an issue...

    Each call to my service is establishing a new connection (CrmConnection) and there is a 10-12 second hit on the first call (which I understand is from authentication and the download of the metadata because REST calls to the same CRM server are sub-second response - but I can't port the whole service to use RESTful calls unfortunately) - I need to do away with that delay with a connection pool of CrmConnections or the like.

    So what I want to know is what are the best classes / what is the best practise in this situation?

    I've read through the doc on this (including on ManagedTokenOrganisationProxy and the ServerConnection class etc) but none of these seem to be a perfect fit for this situation i.e CRM 2011 (so can't use CachedOrganisationService which is 2013 onwards), single on premises installation (so no need to "discover" anything),  AD authentication (no ADFS), early bound types with multiple threads and always connecting from the one service application with the same credentials.

    Oh, and please if you're going to respond (and I hope someone who knows this subject well will :-) then be specific, if you just point me at the home page for the SDK (don't you hate people doing that on every post just to try to up their points?) you won't get a "this is the correct answer" vote.



    Scott Quinn | C# developer & messaging specialist (for hire). Contact me at http://au.linkedin.com/in/scottquinn

    Monday, January 5, 2015 7:26 AM