This project has moved and is read-only. For the latest updates, please go here.

Can custom adapter dlls be deployed without stopping and restarting openPDC service?

Apr 14, 2011 at 2:51 PM

I am new to openPDC. I understand once we write a custom adapter, the custom adapter's dll will need to be placed into the openPDC installation directory and a record needs to be created in the custom adapter table. Whenever updates are made to these custom adapters, and we need to deploy these updates, I see the need to stop and restart the openPDC service. Otherwise, we cannot copy the newer version of the custom adapter dll over to the installation directory. Is there a way we could deploy updates to custom adapters without having to stop the openPDC service? Thanks!

Apr 14, 2011 at 4:16 PM

All adapter assemblies get loaded into the openPDC application domain and there is no way to "unload" an assembly from its app domain once it is loaded from .NET.

For now you could provide a different name for the assembly (MyAdapter.Version2).

In version 1.5 of the openPDC (excepted release of mid-summer) we are going to add "domain isolation" for adapters.

This means, if desired, you could load the adapter into its own application domain - then by unloading the isolated application domain the adapter would unload and the assembly file could be updated while the service was running, so long the assembly it was not loaded in another app domain...