0

アプリケーションの実行中にメモリを解放するために、膨大なメモリ内リストの代わりに Esent データベースを使用しようとしています。しかし、作成中の ESENTDbWrapper ( Esent.Interop に対するカスタム ラッパー) のインスタンスが多数あるためある時点でEsentTooManyInstancesExceptionがスローされます。

それで、最大数は何ですか。初期化できる同時インスタンスの数? または、構成関連のものが不足していますか??? どんな種類の提案も大歓迎です。ありがとう。

4

1 に答える 1

0

インスタンス数の上限は 1024 です。インスタンスをリークしているように聞こえます。

ただし、インスタンスの作成には比較的コストがかかります。同じインスタンスを共有し、代わりにアクセス用に複数のセッションを作成する必要があります。

インスタンスはログ ファイル ストリームに関連付けられており、通常はログ ファイルとデータベースを排他的に開くため、ACCESS_DENIED エラーが発生します。インスタンスで読み取り専用アクセスを行っていると思いますが、読み取り専用インスタンスはファイルを読み取り専用で開き、「他のリーダーにファイルへのアクセスを許可」します。

それが役立つことを願って、

-マーティン

于 2013-04-11T19:31:58.677 に答える