Federico Boerr’s Blog



.Net AddIn Framework: Concurrency problem

Using .Net System.AddIn framework in an environment that needs to handle concurrency may be a bad idea.

The problem is that the communication between Host adapter and AddIn adater, using remoting, can handle only 2 concurent conections.

This is because the implemented remoting communication is opening only 2 channels as shown in the picture below.

Remoting Channels

If more than 2 concurrent requests arrives to the Host adapter, the folowing exception is raised:

RemotingException: Port is busy (…) All pipe instances are busy.”

 Remoting Exception

A proposed approach to solve this issue would be to create an AddIn pool as shown below.

AddIn pool solution

 


Comments

  1. 1 Maurizio Manca says:

    Hi Federico, I have implemented a backend architecture making use of web services and the system.addin DLL and I’ve run exactly into the same issues you’re pointing out in this post. Could you explain a bit more your proposed solution? Do you have any pointer to resources talking about it or do you have any code examples?
    Thanks in advance

    Posted April 28, 2009, 6:44 am

Leave a Comment

(required)

(required)



Formatting your comment
Back to Top | Textarea: Larger | Smaller