Хорошо ли иметь один общий объект SqlConnection в приложении .NET для использования для всех подключений к базе данных или у вас есть отдельный каждый раз при обращении к базе данных?Shared SqlConnection
В настоящее время у меня есть общий и кажется запутанным. Похоже, я не могу использовать общий, когда мне нужно использовать режим проверки подлинности SQL вместо режима проверки подлинности Windows. Я просто попытался в первый раз использовать SQL-аутентификацию, и это дало мне эту ошибку, когда я попытался использовать то же соединение во второй раз:
Существует уже открытый DataReader, связанный с этой Командой, который должен быть закрыт первым.
Если вы говорите «не используйте MARS» - у вас есть какие-то конкретные причины? Из любопытства ... –
http://blogs.msdn.com/sqlnativeclient/archive/2006/09/27/774290.aspx обсуждает некоторые из негативов с использованием MARS – RichardOD
Модель изоляции транзакций MARS неполна, как в теоретически не полностью определены. В результате сервер может «запутаться», как признает Ричард. Обычно это «путаница» означает, что количество возможных взаимодействий слишком велико, и не все коды кода на сервере проверяются и проверяются. –