このトピックは Windows 版 FRE に適用されます。
- 1 つのプロセス内の複数のスレッドで、複数の独立したリクエストを同時に処理する必要があります
- Engine は、高性能なマルチ CPU コンピューター上で動作するサーバーオペレーティングシステム上で実行されます
- 特別なアカウント (Network Service、Local Service、ASPNET) で使用します
Engine object をサーバーアプリケーションに読み込む
C# コード
C# コード
- アカウント権限は、DCOM Config ユーティリティを使用して設定できます (コマンドラインで DCOMCNFG と入力するか、[コントロール パネル] > [管理ツール] > [コンポーネント サービス] を選択します) 。コンソールツリーで [コンポーネント サービス] > [コンピューター] > [マイ コンピューター] > [DCOM Config] フォルダーを見つけ、ABBYY FineReader Engine 12.5 Loader (Local Server) を右クリックして [Properties] をクリックします。ダイアログが開いたら、[Security] タブをクリックします。[Launch Permissions] で [Customize] をクリックし、次に [Edit] をクリックして、そのアプリケーションを起動できるアカウントを指定します。
64 ビット オペレーティング システムでは、登録された DCOM アプリケーションは 32 ビットの MMC コンソールで使用できます。このコンソールは次のコマンドラインを使用して起動できます。
- エンドユーザーのコンピューターにアプリケーションをインストールする際に FREngine.dll を登録するには、regsvr32 ユーティリティを使用します。64 ビット オペレーティング システムを使用している場合、既定では regsvr32 の 64 ビット版が実行されます。次のコマンドラインを使用します。
- サーバー アプリケーションのデバッグ時と実行時の両方で、Network ライセンスを使用することをお勧めします。
- ABBYY FineReader Engine は、現在のプロセス内で in-process server として COM を介して読み込むことができます。この方法では、マルチスレッドに関する問題も自動的に解消されます (ABBYY FineReader Engine オブジェクトに対するすべての操作は COM によって直列化されます) 。また、使用も簡単です。ただし、この方法では Engine object の複数のインスタンスを使った同時処理を構成できないため、サーバーのパフォーマンスが大きく制限されます。この方法のもう 1 つの欠点は、エンド ユーザーのコンピューターにアプリケーションをインストールする際に、FREngine.dll の登録が必要になることです。
- FREngine.dll は手動で読み込むこともできます。これはライブラリを読み込む標準的な方法です。この方法では、Engine object に対するすべての操作を、Engine object が初期化されたのと同じスレッド内で実行する必要があります。また、1 つのプロセスにつき初期化できる Engine object は 1 つだけです。そのため、サーバーのパフォーマンスが大きく制限されます。この理由から、この方法の使用は推奨しません。この方法の利点の 1 つは、エンド ユーザーのコンピューターにアプリケーションをインストールする際に、FREngine.dll の登録が不要なことです。
