2015-12-21 7 views
0

Я хочу изменить Начальный каталог в web.config в соответствии со значением раскрывающегося списка во время входа в систему, а другие вещи останутся такими же, как идентификатор пользователя, источник данных, пароль и т. Д.Ошибка в Dynamic ConnnectionString в Web.config

Это работает отлично для меня, но поскольку мы все знаем, что атрибут name не может быть одинаковым в строке соединения. Поэтому я изменяю имя атрибута в соответствии с каждым соединением.

Но главная проблема в том, что я определил соединения в каждой странице внутри класса, как это ..

SqlConnection cn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connect"].ConnectionString); 

Так что «название» attribe должно быть динамичным в соответствии с ConnectionString в web.config. Так что я пытался использовать переменную Session вместо атрибута «имя» в каждой страницы, как это ....

SqlConnection cn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings[Session["ConnectionName"]].ConnectionString); 

Но, к сожалению сессия не работает в классе. Так в чем же решение?

+0

* Я определил соединение на каждой странице внутри класса *. Почему бы не создать отдельный уровень доступа к данным для этой цели. – Prabhat

+0

Привет @SuprabhatBiswal, Спасибо за ваш ответ. У меня нет большого опыта для этого. Есть ли решение для моего текущего сценария? –

+0

Сколько 'начального каталога' существует в вашем текущем проекте? – Prabhat

ответ

0

В этом случае вы можете иметь базовую базу данных, где вы можете поддерживать все соединения/основную часть вашего проекта на основе ваших ограничений (например, года и т. Д.).

Теперь вы можете вывести строку соединения из основной базы данных. Существует множество других сценариев для достижения этого, но на основе вашего требования создание основной базы данных - лучший подход.

Надеюсь, это вам поможет.

Смежные вопросы