2009-04-24 2 views
0

Если у меня есть строки подключения, прочитанные из файла конфигурации в моем приложении, и мне нужно иметь возможность изменять соединительные строки, поскольку приложение перемещается с dev на uat на prod, я должен использовать файлы настроек на все, как там строки подключения скомпилированы в сборку, которую я буду перемещать из среды в среду, из-за чего исходные строки соединений устарели?.Net и настройки по умолчанию

Какова наилучшая практика здесь?

Edit:

Я прошу в целом, у меня есть и веб-сервисы, а также SmartClient приложения.

+0

Уточнение, пожалуйста, это веб-приложение или настольное приложение? –

+0

Не имеет большого значения, имя файла конфигурации просто отличается, но это связано с различиями. – Lucero

+0

Просил, потому что шифрование web.configs прост.Но развернутые настольные приложения и зашифрованные конфигурации приложений не являются –

ответ

2

Вы хотите использовать XML-файл App.config для настольных приложений или web.config, если вы занимаетесь веб-разработкой. Смотрите "ConnectionStrings"

1

Я обычно ставлю строки подключения во внешний конфигурационный файл, что я исключаю из развертывания: В web.config:

<connectionStrings configSource="connections.config"></connectionStrings> 

connections.config:

<?xml version="1.0"?> 
<connectionStrings> 
    <add name="connectionName" connectionString="[connection string goes here]"/> 
</connectionStrings> 

[обновление] Предполагается, что вы создаете веб-сайт; в противном случае это, конечно, «App.config», а не «web.config»

+1

, это интересный способ сделать это. У меня есть строки подключения на моих dev/production box в файле machine.config. Отлично работает для меня;) Я думаю, вы отправляете шаблон для тех, кто ребята настраиваются с этим –

-1

Похоже, у вас нет кнопки «(».) на клавиатуре. Посетите магазин, чтобы купить новый.

Я не уверен, что понимаю вашу проблему. Используйте файл конфигурации/настроек рядом с исполняемым файлом приложения. Прочитайте этот файл для строки подключения. Если файл отсутствует, создайте новый файл конфигурации с URL-адресом по умолчанию?

0

Компиляция настроек конфигурации заставляет меня съеживаться.

Но если вы беспокоитесь о том, что ваша конфигурация просматривается плохими людьми.

зашифровать: http://www.4guysfromrolla.com/articles/021506-1.aspx

Имейте в виду, что шифрование на основе ключа машины, так что не будет работать так хорошо развертывания настольных приложений.

1

Мы используем раздел строк подключения файла .config, и имеют строковые имена, как:

AppDataInDev и AppData

Также в .config файле у нас есть ключ с именем InDev в настройках приложения

В нашем datalayer мы проверяем значение InDev. Если true, файл данных инициализируется с использованием AppDataInDev в противном случае, он использует AppData.

Это делает управление переходом на прод легко. При публикации в prod измените значение InDev на False, и все будет готово. (Если приложение ASP.Net, сделайте это одновременно, вы также переключите CompilationDebug на False.)

+0

. Я понимаю, как переключатель indev облегчает развертывание, но таким образом у вас есть все ваши строки подключения в файлах конфигурации. Кроме того, наличие переключателей в коде звучит опасно, так как его очень легко забыть для переключения переключателя. Я предпочел бы, чтобы приложение выдавало исключения, чем для подключения к какой-либо строке подключения по умолчанию. – Fadeproof

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