There are two separate dll Outlook Add-ins we are developing they both require a general library (let's call this library the "plugin") that acts as a proxy for sending/receiving messages across to a remote server. At first the idea would be to have each Outlook Add-in link to this plugin library but we realize that there needs to be a way for us to managed the connections to the remote server. We only want one connection to the remote server per process despite any number of different add-ins that could be developed which use this plugin library.

I'm kind of new to distributed app development but is this where an inproc server comes in handy?