0

У меня есть приложение, которое запускает несколько параллельных фоновых процессов для вставки данных в базу данных с использованием блока приложений доступа к данным Enterprise Library. Каждый из фоновых потоков использует базу данных DatabaseFactory.CreateDatabase, проходящую в том же имени экземпляра базы данных. Ниже приведен фрагмент кода, который извлекает объект базы данных и команды:Как обеспечить безопасность потоков при использовании данных Enterprise Library Acces

Microsoft.Practices.EnterpriseLibrary.Data.Database database = DatabaseFactory.CreateDatabase(this.DatabaseInstanceName); 
DbCommand commandObj = database.GetSqlStringCommand(statement); 

Я нахожу, что это не поточно, и я получаю ошибки из-за значение получения перепутано по резьбе. Как я должен справиться с этим, чтобы убедиться, что он потокобезопасен?

благодарит заранее!

ответ

1

Я нашел свою проблему. Значения, которые смешивались по потокам, были связаны не с объектами доступа к данным Enterprise Library, а с другим объектом, который я использовал для хранения параметров. Я случайно сделал его глобальным вместо локального ресурса в каждом потоке.

 Смежные вопросы

  • Нет связанных вопросов^_^