Здравствуйте, Kimus, Вы писали:
K>Вопрос состоит в следующем — как в этом случае лучше организовать соединение с базой данных (SqlConnection) в такой многопоточной среде? Я вижу два варианта:
K>(1) сложный: иметь столько соединений, сколько запущено потоков, и в каждом потоке использовать свое соединение. Реализовать это можно, например, с помощью глобального объекта Dictionary<int, SqlConnection>, где ключом будет ID обращающегося потока, и класса-оболочки DataBaseConnection, статическое свойство Connection которого будет проверять, есть ли в словаре соединение для текущего потока и, если нет — то создавать его. Идея кажется интересной, но возникают накладные расходы, связанные с обращением к свойству, поиску в словаре, плюс надо как-то отслеживать завершение работы потоков и закрывать соответствующие соединения
а стандартный пул соединений уже не подходит?