В чем разница между определением SqlConnection в коде файла и в файле web.config? - PullRequest
0 голосов
/ 02 января 2019

В чем разница между SqlConnection в коде позади и строкой соединения в web.config?

Код сзади:

Dim con As SqlConnection = New SqlConnection("Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60")

web.config:

<connectionStrings>
    <add name="conn" 
         connectionString="Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60;Pooling=False" />
</connectionStrings>

Ответы [ 4 ]

0 голосов
/ 02 января 2019

Между ними нет больших различий. Оба являются двумя различными механизмами предоставления строки подключения к объекту SQLCommand.

Более целесообразно использовать и изменять файл web.config на производственном сервере без простоев в соответствии с требованиями.

Несколько раз, как мы знаем, нам нужно изменить имя сервера, имя базы данных, пароль, тайм-аут и т. Д. Когда это определено в коде, то вам нужно сначала перекомпилировать и опубликовать его на сервере, который требует много времени и ресурсов. .

Мы используем строку подключения в коде позади обычно, когда нам нужно обеспечить динамическое соединение, например, выбрать из выпадающего списка или изменить в зависимости от даты и т. Д. Хотя это также можно сделать в web.config с определением другой строки подключения. и решить, что нам нужно использовать, основываясь на условии в коде.

0 голосов
/ 02 января 2019

SqlConnection в вашем коде - это то, что вам нужно для подключения к базе данных во время выполнения.Однако инициализация SqlConnection таким образом будет означать, что ваше приложение может только когда-либо подключаться к базе данных SQL таким образом.Если пароль изменяется или если приложению требуется другое соединение, приложение должно быть переписано и перекомпилировано.

Строка соединения в файле конфигурации представляет собой механизм, позволяющий изменять строку соединения SQL безнеобходимость перекомпилировать приложение.

Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("conn"))
0 голосов
/ 02 января 2019

Как я знаю,

В чем разница между SqlConnection в коде позади и строкой подключения в веб-конфигурации?

Нет разницы в текущем поведении или работе, вы можете поместить строку подключения в сам код или в файл web.config!

Строка подключения в самом коде:

Если вы вставите строку подключения в сам код, например:

Dim con As SqlConnection = New SqlConnection("Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60")

В случае смены пароля или иногда вы хотите изменить Connection Timeout = 90, в этом случае вынеобходимо создать приложение и опубликовать, чтобы получить обновленные изменения.

Строка подключения в файле web.config:

<connectionStrings>
    <add name="constr" 
         connectionString="Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60;Pooling=False" />
</connectionStrings>

доступ в коде:

string ConStr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
Dim con As SqlConnection = New SqlConnection(ConStr)

В случае изменения пароля или любого изменения в строке подключения, просто измените файл web.config, потому что мы динамически читаем строку подключения из web.config, поэтому каждый раз, когда вы получите строкуто есть в web.config

0 голосов
/ 02 января 2019

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

...