Tuesday, September 11, 2012

Powerful Multi-Threading to the CRM 2011 SOAP Endpoint

I have run into several situations where people want a very quick delete functionality or they have an application that needs to hit the webservice many times in very quick succession.  This usually means multi-threading your application and that can cause problems if you hit it too many times too quickly and you can get errors because the available ports get used up and are not recycled fast enough.  I have overcame this to some degree in .NET by using stacks and when an atomic operation fails it just get's put back on the stack for another thread to pick up and try again.

It seems that there is another way to crank up the horsepower and increase throughput by changing a couple registry settings.  One to increase the number of ports available and another to decrease the amount of time they take to recycle.

Check out more here:

http://community.dynamics.com/product/crm/crmtechnical/b/billoncrm/archive/2009/01/20/crm-webservice-error-58-only-one-usage-of-each-socket-address-40-protocol-47-network-address-47-port-41-is-normally-permitted.aspx

No comments:

Post a Comment