Я лично не буду хранить строки подключения в файле machine.config, только когда-либо в файле web.config.
Вы говорите, что это выделенный сервер, но этот сервер предназначен для одного веб-приложения?
Если нет, у вас есть один файл (machine.config), который эффективно использует данные конфигурации для нескольких (возможно, не связанных) веб-приложений. В зависимости от количества этих приложений, и если вам когда-либо понадобилось переместить их на другой сервер, использование machine.config может стать очень грязным.
Даже если сервер -, предназначенный для одного веб-приложения, вы, вероятно, будете выполнять свою разработку и тестирование на других машинах. Поскольку файл machine.config обычно не является файлом, включенным в набор файлов проекта веб-приложения ASP.NET, вам, вероятно, придется уклониться от развертывания machine.config для каждого из различных dev/test/production, и убедитесь, что другая (не соединительная строка) соответствующая конфигурация внутри них правильная для этой машины.
Использование web.config для хранения строк подключения к базе данных имеет совершенно логичный смысл и полностью ожидается почти всеми разработчиками ASP.NET, даже если у вас есть несколько приложений, которые будут использовать ту же самую базу данных на том же сервере базы данных. Сохранение этой конфигурации в web.config каждого приложения позволяет каждому из этих приложений быть более автономным и не зависит от какого-либо другого «внешнего» файла.
Обычно я смотрю файл machine.config и что-то, что использует сам фреймворк, и он принадлежит на машине и специфичен для этой машины. Я очень редко вхожу и сам касаюсь. Я рассматриваю web.config как файл, который является частью и частью вашего проекта веб-приложений и «перемещается» с этим проектом при его перемещении и развертывается на разных машинах.
Кроме того, не забывайте, что многое из того, что определено в файле machine.config, можно переопределить для каждого приложения, переопределив некоторые элементы конфигурации в файле web.config конкретного приложения.
Конечно, есть несколько веских причин для редактирования/изменения файла machine.config (например, для нескольких веб-серверов в веб-ферме, возможно, потребуется синхронизировать ключи шифрования/дешифрования в файле machine.config) , однако, я не верю, что строки подключения к базе данных являются одной из тех веских причин.
В любом месте, которое вы должны рассмотреть, зашифруйте его (хотя, если вы используете надежные соединения, я бы не стал так беспокоиться). Для этого сейчас есть удобный инструмент: http://somewebguy.wordpress.com/2009/07/16/encrypt-your-web-config-please/ – blowdart
Ссылка в комментарии выше мертва; теперь на http://hugoware.net/blog/encrypt-your-web-config-please –