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();