首页 / 知识

要在C#中实现“进程外” COM服务器,我需要做什么?

2023-04-13 09:28:00

要在C#中实现“进程外” COM服务器,我需要做什么?

What do I need to do to implement an “out of proc” COM server in C#?

我正在尝试实现用C#编写的"进程外" COM服务器。 我该怎么做呢?

我需要将C#代码从主C ++应用程序中"移出proc",因为我无法将.NET运行时加载到主进程空间中

为什么?:
我的C ++代码位于DLL中,该DLL已加载到许多不同的客户EXE中,其中一些使用不同版本的.NET运行时。 由于只能将一个运行时加载到单个进程中,所以我最好的选择似乎是将我的C#代码放入另一个进程中。


您可以使用System.EnterpriseServices.ServicedComponent创建COM +组件。因此,您将能够创建进程外和进程内(客户端)组件激活,以及池,远程处理,作为Windows服务运行等所有COM +好处。


在这里,我们可以看到有可能,但是该exe将作为库加载,而不是像exe在其自身进程中启动。我不知道这对您是否有问题?如果您确实想使其像真正的进程外com服务器一样,它也包含一些可能的解决方案。但是也许使用另一种进程间通信方式更好。就像.Net Remoting。


为什么不能将.net运行时加载到进程空间中?可以承载.net运行时,并使用COM调用.net。


我不推荐这样做,但是您可以为C#库创建一个COM调用包装器,然后创建一个VB6 ActiveX exe项目,该项目将调用委派给C#库。


进程服务器移出应用程序

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢