asp.net - добавление MARS к соединению из web.config

У меня есть это в webconfig

<add name="dbConn" connectionString="Data Source=PC-PC;Integrated Security=True" />

Затем я звоню им большую часть времени на своей странице через

 string connstr = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString;

Однако некоторые страницы требуют двух запросов. Что я имею в виду (или что мне нравится достигать)

 string connstr = ConfigurationManager.ConnectionStrings["dbConn"+"MultipleActiveResultSets=True"].ConnectionString;

Но, конечно, это не сработает. Поскольку то, что указано здесь, похоже на код ниже.

сноска: я не хочу использовать это в большей части моей страницы

string connectionString = "Data Source=MSSQL1;" + 
        "Initial Catalog=AdventureWorks;Integrated Security=SSPI;" +
        "MultipleActiveResultSets=True";

потому что у меня есть несколько страниц, и, конечно, легко настроить БД.
footnote2: причина в том, что, потому что я не знаю, может быть, это не надежно, и использование 2-х соединений на странице, которая требует только 1-го соединения, может быть уродливо.
РЕДАКТИРОВАТЬ: Извините за плохой английский

2 ответа

Решение

У вас может быть два соединения для вашего сценария:

Без MultipleActiveResultSets=True,

<add name="dbConn1" connectionString="Data Source=PC-PC;Integrated Security=True" />

и с MultipleActiveResultSets=True,

<add name="dbConn2" connectionString="Data Source=MSSQL1; 
        Initial Catalog=AdventureWorks;Integrated Security=SSPI;
        MultipleActiveResultSets=True;" />

Вы можете загрузить вышеуказанную строку подключения согласно вашему требованию.

Загрузите строку подключения в SqlConnectionStringBuilder, манипулируйте компоновщиком, затем вызовите ToString(), чтобы получить измененную строку подключения:

string webConfigConnectionString = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString;
var builder = new System.Data.SqlClient.SqlConnectionStringBuilder(webConfigConnectionString);
builder.MultipleActiveResultSets = true;
string modifiedConnectionString = builder.ToString();
Другие вопросы по тегам