此对象实现了 IEngineLoader 接口,该接口提供加载和卸载 Engine 对象的方法。通过此对象,您可以将 ABBYY FineReader Engine 作为进程外服务器加载到单独的进程中。
如果使用这种加载方式,所有 ABBYY FineReader Engine 实例都将完全线程安全。每个 FineReader Engine 实例都在单独的进程中运行,并可与其他实例同时工作。这样,您就可以创建处理器池,充分利用可用的 CPU 资源。因此,OutprocLoader 对象特别适合服务器应用程序。
- 此加载方式要求在最终用户的计算机上安装应用程序时注册 FREngine.dll。要注册 FREngine.dll,请使用以下命令行:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
- 可以使用 DCOM Config 实用程序设置账户权限 (可在命令行中输入 DCOMCNFG,或依次选择 Control Panel > Administrative Tools > Component Services) 。在控制台树中,找到 Component Services > Computers > My Computer > DCOM Config 文件夹,右键单击 ABBYY FineReader Engine 12.5 Loader (Local Server),然后单击 Properties。此时会打开一个对话框。单击 Security 选项卡。在 Launch Permissions 下,单击 Customize,然后单击 Edit,以指定哪些账户可以启动该应用程序。
请注意,在 64 位操作系统上,已注册的 DCOM 应用程序可在 32 位 MMC 控制台中找到,可使用以下命令行运行该控制台:
- 我们建议您在调试和运行服务器应用程序时都使用网络许可证。
更多信息,请参见加载 Engine 对象的不同方式。
此对象支持 IHostProcessControl 接口。这意味着您可以管理承载 FineReader Engine 的进程。
IEngineLoader engineLoader = new FREngine.OutprocLoader();
IEngine engine = engineLoader.InitializeEngine(…);
try {
…
} finally {
engineLoader.ExplicitlyUnload();
}
此对象也用于 EnginesPool 代码示例。它实现了 FineReader Engine 池,并且可以轻松改造后用于您自己的多线程应用程序。
IEngineLoader
Engine 对象的不同加载方式
在多线程服务器应用程序中使用 ABBYY FineReader Engine
使用 ABBYY FineReader Engine 进行并行处理