1

Мы переходим в среду с несколькими двигателями SQL Server, работающими на одном сервере (тестовый движок и производственный движок). У нас также есть отдельные тестовые и производственные веб-серверы, и мы хотели бы, чтобы наши приложения asp.net «волшебным образом» использовали механизм тестовой базы данных на тестовом веб-сервере и механизм создания базы данных на веб-серверах производства. Мы хотели бы сохранить строки подключения в файле machine.config, а не в web.config, но когда мы помещаем его в файл machine.config, среда IDE Visual Studio (особенно с наборами данных) не распознает, что файл machine.config содержит соединение.Как эффективно сохранить строку подключения только в файле machine.config?

Кто-нибудь знает о решении для отображения этих строк соединения machine.config в визуальной студии или другого решения, которое будет предназначаться для этого?

Спасибо.

+0

Какую версию Visual Studio вы используете? – Jacob

+0

2008 в настоящее время. Будет перенесен на 2010 год, как только мы закончим переход на новую среду MS SQL 2008 R2. –

ответ

2

(Заметьте, что я никогда не пробовал или не тестировал это, но я считаю, что это сработает. Сообщите мне, если это произойдет.) Вы можете добавить свои строки подключения к файлу machine.config, а затем добавить файл connectionstring.config в свой проект на корневом уровне. В свойствах этого файла выбрать не размещать

содержимого файла connectionstring.config:

<?xml version="1.0"?> 
    <connectionStrings> 
    <add name="someName" connectionString="yourString" /> 
    <add name="someName2" connectionString="yourString2" /> 
    <add name="someName3" connectionString="yourString3" /> 
    <connectionStrings> 

, наконец, в вашем web.config для вашего проекта модифицирует раздел ConnectionString как этот

<connectionStrings file="connectionstring.config"> 
</connectionStrings> 

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

+0

На самом деле атрибут 'file =' ** ** существует только в разделе ''. Тем не менее, вы можете использовать 'configSource =' в разделе '' –

+0

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

+0

Я получаю сообщение об ошибке, когда файл connectionStrings.config отсутствует: «Не удается открыть файл configSource« connectionStrings.config ».» –

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

  • Нет связанных вопросов^_^