具有多个进程的C++到C#桥

本文关键字:C++ 进程 | 更新日期: 2023-09-27 18:24:22

我有处理对文档的查询的C++库,以及应该使用该库打开和查询文档的ASP.NET 5(.NET Core)web服务器。

我想将C++库与web服务器隔离开来(这样,如果库崩溃,就不会导致服务器崩溃)。因此,我正在考虑为每个打开的文档生成单独的进程,并使用套接字将查询传递给这些进程。

问题是:我应该如何以及在哪里处理流程生成和管理?是在C#端,在C++上,还是使用一些中间件更好?。有没有什么库可以帮助我管理进程、杀死冻结的进程、保持额外进程的活力等等?

具有多个进程的C++到C#桥

生成一个进程是正确的方法。这样一来,您就不会冒外部库占用服务器进程的风险。当然,你仍然会暴露在外部进程中,完全扰乱环境(比如破坏操作系统),但这与此正交。

既然你用asp.net-5标记了这个问题,我认为你在使用它。虽然没有什么遗漏,至少在微软作为ASP.NET 5的一部分发布的内容中没有,但对于从web服务器管理进程,你可以看看dnx watch的代码。观察者管理一个外部进程。