Являются ли DbProviderFactory, DbConnection, DbCommand и DbDataAdapter поточно-ориентированными? - PullRequest
0 голосов
/ 21 октября 2008

Безопасны ли классы .net, относящиеся к потоку DbProviderFactory?

Ответы [ 2 ]

3 голосов
/ 22 октября 2008

из MSDN: Безопасность ниток

Любые открытые статические (Shared в Visual Basic) члены этого типа являются поточно-ориентированными. Ни один из членов экземпляра не гарантированно является потокобезопасным.

0 голосов
/ 21 октября 2008

Когда вы говорите «Эти экземпляры создаются один раз во время выполнения и используются до конца жизни службы», вы имеете в виду объект подключения? Кроме того, вы имеете в виду, что вы сохраняете объект подключения открытым в течение всего срока службы? Если ваш сервис многопоточный, и у вас есть только один экземпляр соединения (например, одноэлементный или статический класс), вы должны убедиться, что соединение используется только одним потоком за раз.

Не видя большого количества кода, это звучит как проблема с тем, как вы относитесь к IDbConnection, который вы получаете с завода, а не с самого завода.

Мы очень интенсивно используем DbProviderFactory для наших многопоточных приложений, которые подключаются к Oracle, FoxPro и SqlServer, и я не видел этой проблемы.

Удачи!

Рикардо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...