Saturday, October 21, 2017

ActiveX.NET, A True Out-Of-Proc(EXE) COM Server Using C#.NET

ActiveX.NET is an attempt to provide a pluggable Out-Of-Proc (EXE) COM Server in Microsoft.NET (C#).

The project has been inspired from CSExeCOMServer (hosted in Code.MSDN and probably the only one Out-Of-Proc COM Server available in Microsoft.NET !) and to provide a much more cleaner .NET Specific approach for building EXE COM Server.

The idea is to provide an advanced implementation, with the below features:

1. Introduce .NET Windows Message Pump (Application.Run) , instead of Native Message Pump

This will enable leveraging .NET Win Forms/UserControls inside COM Objects created within .NET without any restrictions

2. Decouple Out-Of-Process EXE Server and make it as a shared EXE COM Server

This will enable loading user created COM Visible Libraries dynamically

3. Help developers build COM Objects easily as Plug-Ins, targeting towards the shared EXE COM Server

Let developer build COM objects without worrying about reference counting, and registering for Out-Of-Proc use. Just enable the COM Object for Out-Of-Proc use by simply applying a few attributes and base classes.

The project is available in GitHub.

ActiveX.NET.Architecture