Причина № 1
Как все говорят, наличие строки подключения в web.config позволяет легко обновлять / изменять по мере необходимости. Он становится единым источником, в котором аргументы могут быть легко изменены.
Причина № 2
Помимо этого, IIS настроен так, чтобы не обслуживать web.config пользователям, запрашивающим файл. Если ваш сайт,
www.mydomain.com
кто-то не может нажать http://www.mydomain.com/web.config и очистить все ваши конфиденциальные настройки, пароли и т. Д.
(Отметим, что IIS не будет обслуживать файлы в каталоге App_Code ни пользователю, поэтому файл web.config не уникален в этом отношении.)
Причина № 3
ASP.NET автоматически обнаруживает изменения в файлах конфигурации и немедленно применяет новые настройки.
Подробнее ..
MSDN обсуждает систему конфигурации ASP.NET по адресу
http://msdn.microsoft.com/en-us/library/aa719558%28VS.71%29.aspx