Как мне работать с ASP.NET между SubVersion и моим размещенным сайтом? - PullRequest
0 голосов
/ 31 августа 2010

Я в самом начале изучения ASP.NET WebForms. Прямо сейчас я начинаю изучать учебник TailSpin-SpyWorks . Я также настроил учетную запись хостинга Windows на www.arvixe.com , чтобы использовать ее для размещения своих сайтов.

В настоящее время я работаю над настольными приложениями в WinForms с C # и использую Subversion для контроля версий. И я пытаюсь понять, как мой текущий рабочий процесс преобразуется в среду ASP.NET. Теперь я понимаю, что процесс администрирования веб-сайтов может быть невероятно сложным для большого сайта, но имейте в виду, что я просто пытаюсь получить общее представление о том, как я должен работать при создании очень простого сайта.

Я думал о том, что у меня будет локальная база данных с некоторыми примерами данных для локальной отладки, когда я работаю над сайтом. Тогда на моем хосте была бы живая версия, которая также указывала на живую базу данных на хосте. Кроме того, я подумал, что мог бы также иметь отдельный промежуточный сайт в папке «sub» субдомена на моем хосте, который позволил бы мне проверять рабочую версию сайта с живыми данными.

Я на правильном пути? Меня особенно смущает то, как я могу работать между локальной копией, указывающей на мою локальную базу данных, и действующей версией, указывающей на действующую базу данных, но все файлы находятся под контролем версий.

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

Полагаю, мне нужны отдельные файлы web.config для отладки и корректной работы живого сайта? Оба эти файла входят в систему контроля версий? Если да, то как сказать Visual Studio использовать первое при локальной отладке, но опубликовать второе?

1 Ответ

0 голосов
/ 31 августа 2010

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

, если вы хотите создать веб-приложение, а не win-приложение.позвольте мне ответить на ваш вопрос один за другим:

От руки Я думал, что у меня будет локальная база данных с некоторыми примерами данных для локальной отладки, так как я работаю над сайтом.Тогда на моем хосте была бы живая версия, которая также указывала на живую базу данных на хосте.Кроме того, я подумал, что мог бы также иметь отдельный промежуточный сайт в папке «бета» субдомена на моем хосте, который позволил бы мне проверять рабочую версию сайта с живыми данными.

если вы хотите выше, то вам понадобится 3 экземпляра БД, один на вашем локальном сервере и два на живом сервере (один для живого БД, а другой для тестового БД).

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

после того, как вы закончили с локальной разработкой, вы опубликуете эту версию.при публикации у вас будут файлы, которые вы затем развернете на своем живом сервере, который обычно не требует контроля версий.при условии, что вы правильно настроили тест и действующий сайт, когда файлы находятся на сервере, вы сначала внедрите его в тест (поместите файлы в папку «test»), если тестирование прошло успешно, скопируйте те же файлы (ту же версию) в «живой» папке (имейте в виду, что это две папки, которые будут иметь два разных веб-конфигурации; одним основным отличием будет соединение с БД, поскольку одна должна указывать на тестовую БД, а другая на живую БД)

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

Я на правильном пути?Меня особенно смущает то, как я могу работать между локальной копией, указывающей на мою локальную базу данных, и оперативной версией, указывающей на действующую базу данных, но все файлы находятся под контролем версий.

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

также для живого веб-сайта вам не нужно много кода, вам просто нужны такие важные файлы, как .dll, aspx страницы и скриптстили и т. д., и мы обычно не помещаем его в систему управления исходным кодом / версией.

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

В Visual Studio есть функция сравнения баз данных, с помощью которой вы можете перенести внесенные изменения из локальной в живую.Другой вариант - использовать скрипт при внесении изменений в базу данных, так что вам просто нужно снова запустить скрипт на live db, когда вам нужно.

Я полагаю, мне нужно иметь отдельный вебФайлы .config для отладки и живого сайта правильные?Оба эти файла входят в систему контроля версий?Если да, то как я могу сказать Visual Studio использовать первое при локальной отладке, но публиковать второе?

Да, отдельные веб-конфигурации, но вам нужно только сохранить один на вашем контроле версий, живой не будетпод контролем версий нормально.

Другая альтернатива - просто иметь один webconfig и иметь разные наборы ключей для live, test и debug.просто закомментируйте наборы, которые вам не нужны.это будет работать для вас, но если ваша команда станет большой, другие разработчики не должны видеть детали, такие как учетные данные для живого БД, и это также одна из причин, чтобы не подвергать это подрывной деятельности.просто храните файлы на работающем сервере, где могут видеть только авторизованные пользователи.

надеюсь, вы что-то получите от этого.ура!

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