Развертывание веб-приложения с внешней базой данных

У меня есть веб-приложение (веб-сайт), которое использует базу данных SQL Server.

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

Я впервые развернул веб-приложение, поэтому у меня есть пара вопросов.

1) Является ли размещение базы данных вне проекта приемлемым способом совместного использования базы данных?

2) Строка подключения будет отличаться между моей локальной машиной и удаленной машиной. Удаленный имеет Sql2008 Web Edition и мой локальный компьютер SQL Server Express. Также структура каталогов будет отличаться, поскольку она не виртуальная. Это что-то, что я могу сделать, чтобы автоматизировать это, или это просто ручная скрипка?

Заранее спасибо.

1 ответ

Решение
  1. Если вы не хотите, чтобы база данных была привязана к проекту, вам нужно центральное место, где к ней могут получить доступ другие проекты / сайты

  2. Используйте строку подключения, хранящуюся в центральном месте, например, Web.Config каждого веб-приложения. Вы можете создать несколько строк подключения с разными именами, указывающими на другой источник базы данных, например, RemoteConnection и LocalConnection.

пример

<add name="ApplicationServices"
     connectionString="Local DB"
     providerName="System.Data.SqlClient" />

<add name="ApplicationServices_2"
         connectionString="Remote DB"
         providerName="System.Data.SqlClient" />

При переключении между локальным сервером и удаленным сервером убедитесь, что правильное соединение имеет имя "ApplicationServices", и вам не нужно будет менять свой код

Другие вопросы по тегам