.Net и настройки по умолчанию - PullRequest
0 голосов
/ 24 апреля 2009

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

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

Edit:

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

Ответы [ 5 ]

2 голосов
/ 24 апреля 2009

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

1 голос
/ 24 апреля 2009

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

AppDataInDev и AppData

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

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

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

1 голос
/ 24 апреля 2009

Я обычно помещаю строки подключения во внешний файл конфигурации, который исключаю из развертывания: В 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»

0 голосов
/ 24 апреля 2009

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

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

Зашифруйте его: http://www.4guysfromrolla.com/articles/021506-1.aspx

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

0 голосов
/ 24 апреля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...