Enterprise Library の Data Access アプリケーション ブロックを使用して、複数の同時バックグラウンド プロセスを実行し、データベースにデータを挿入するアプリケーションがあります。各バックグラウンド スレッドは、同じデータベース インスタンス名を渡す DatabaseFactory.CreateDatabase を使用します。以下は、データベースとコマンド オブジェクトを取得するコードのスニペットです。
Microsoft.Practices.EnterpriseLibrary.Data.Database database = DatabaseFactory.CreateDatabase(this.DatabaseInstanceName);
DbCommand commandObj = database.GetSqlStringCommand(statement);
これはスレッドセーフではなく、スレッド間で値が混同されているためにエラーが発生しています。スレッドセーフであることを確認するには、これをどのように処理すればよいですか?
前もって感謝します!