Лучшие практики для поддержки сайтов с общим хостингом с ASP.NET и SQL Server? - PullRequest
3 голосов
/ 24 ноября 2008

Последние пару лет я работаю на сайтах PHP / MySQL с провайдерами виртуального хостинга. Повседневный процесс в основном:

  • разработка в Eclipse, один веб-сайт в папке
  • загрузка через FileZilla, один веб-сайт в папке
  • используйте PHPMyAdmin для создания и управления локальными и онлайн-базами данных и передачи данных из одной в другую
  • для резервного копирования онлайн базы данных я делаю дамп таблиц базы данных в скрипт и копирую их локально

Теперь я хочу создавать веб-сайты с ASP.NET с SQL Server 2008 на провайдерах виртуального хостинга, и я пытаюсь перейти к этой новой парадигме, надеюсь, некоторые из вас могут дать мне несколько советов, основанных на ваших опыт и скажите мне, что я не делаю оптимально:

  • Я установил как Visual Web Developer 2008 Express, так и полную версию Visual Studio 2008, оба они кажутся полнофункциональными инструментами для разработки сайтов ASP.NET. Что касается веб-сайтов у провайдеров виртуального хостинга, что вы можете сделать с полной версией, которую вы не можете сделать с экспресс-версией?
  • Я использую FileZilla для загрузки своих сайтов, что, кажется, работает нормально. Используете ли вы внешнюю программу FTP для загрузки своих сайтов, или вы используете «Публикация» или «Веб-сайт FTP» в вышеупомянутых IDE?
  • Я установил SQL Server 2008 Management Studio и теперь могу выдавать команды SQL для своей онлайновой базы данных SQL Server (хотя, как ни странно, я не вижу свою базу данных в списке слева, я все еще могу получить к ней доступ, я предполагаю, что это какая-то у моего провайдера, www.domainbox.de, возникли проблемы с правами, но этот провайдер сказал мне вместо этого использовать их онлайн-менеджер, который называется «ASP.NET Enterprise Manager», который очень прост, но по крайней мере имеет «Query Box», который позволяет мне отправлять запросы в мою базу данных.) Является ли это стандартом "ASP.NET Enterprise Manager" для хостеров ASP.NET или есть что-то еще лучше, например где вы можете редактировать свои данные в сетке и т. д.? И я предполагаю, что с большинством поставщиков вы можете управлять своей онлайновой базой данных SQL Server с помощью SQL Server Management Studio, это правильно? (Я помню, как в 2001 году управлял онлайновой базой данных SQL Server 2000 у провайдера общего хостинга с Enterprise Manager, и мне потребовалось бы буквально 10 минут, чтобы увидеть свою базу данных слева, поскольку в ней также перечислены другие 800 клиентских баз данных - надеюсь, это уже решено).
  • Как сделать резервную копию данных в онлайн-базе данных в локальном хранилище? (в настоящее время мне придется написать код, который выводит мои данные в другой формат, например, XML или SQL Script)
  • И после внесения ряда структурных изменений и изменений в вашу локальную базу данных, как перенести эти изменения и новые данные в вашу онлайн-базу данных? (Мне пришлось установить SSMS Tools [http://www.ssmstoolspack.com] чтобы иметь возможность выгружать мои данные в скрипт, чтобы я мог вернуть их обратно в свою онлайн-базу данных).

Итак, хотя я получил большинство вещей для работы, я чувствую, что должны быть лучшие способы сделать это, лучшие провайдеры, лучшие инструменты и т. Д. Хотелось бы услышать совет от "лучших практик" от любой, кто работает с ASP.NET, SQL Server и виртуальным хостингом.

Ответы [ 2 ]

3 голосов
/ 25 ноября 2008

По большей части то, что вы делаете сейчас, будет работать с сайтом asp.net.

Для вашей среды разработки, я не думаю, что вы будете ограничены в использовании Visual Web Developer 2008 Express для того, что вы хотите сделать. Вот страница Microsoft, которая сравнивает каждую версию Visual Studio 2008, включая Visual Web Developer 2008 Express: Сравнение продуктов Visual Studio 2008

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

Что касается сервера SQL, многие службы общего хостинга позволят вам подключиться к какому-либо локальному инструменту управления SQL. Однако при таком соединении обычно используется большая полоса пропускания, поэтому они снижают разрешенную полосу пропускания для этого пути. Вероятно, это проблемы с производительностью, которые вы видели ранее. Если вы можете справиться с этим, я бы использовал их инструменты SQL для большей части вашей работы, но затем использую студию управления для всего, с чем он не может справиться.

Для резервного копирования вашего SQL-сервера, если у вашего хоста нет способа выполнить автоматическое резервное копирование, вам придется что-то делать самостоятельно. Сначала я проверил бы, позволят ли они хотя бы выполнить команду резервного копирования SQL. Это создаст файл .bak вашей базы данных, но на локальном сервере базы данных. Большинство мест будут работать с вами в этом, так как это нужно многим клиентам.

Для применения изменений к вашей базе данных лучше всего записать все изменения в один сценарий sql и запустить его с помощью инструмента удаленного управления SQL. Это не сложно написать, и есть несколько инструментов, которые помогут вам в этом. Мне лично нравится использовать Visio. Он позволяет мне сравнить две базы данных (локальную и удаленную), а затем сгенерировать сценарий для применения к удаленной базе данных со всеми изменениями.

Удачи

0 голосов
/ 25 ноября 2008

Что касается возможностей VS Express против Standard - Standard все еще является лучшим инструментом. Это дает вам более богатый опыт отладки, более широкую поддержку зависимостей решений / проектов, среди прочего.

Эти вещи все еще имеют значение, даже когда вы используете общий хостинг, вам абсолютно необходимо отладить ваше приложение (на стороне клиента и сервера). Вы можете сделать это адекватно с помощью Express с некоторыми оговорками (не могу присоединиться к произвольному процессу, отладка JavaScript на стороне клиента является проблемой), Standard делает это НАМНОГО проще.

Для публикации / развертывания - я бы порекомендовал ' Web Depoyment Projects ' - расширение MSBuild, которое можно загрузить с MS. Это дает вам много возможностей для настройки того, как вы хотите создать и развернуть свой веб-сайт, что может включать отправку его на FTP-сайт. Если вы когда-либо использовали MSBuild и вам это нравится - проекты по веб-развертыванию - самый простой способ расширить ваш процесс сборки с помощью веб-сайта ASP.NET.

...