Рекомендации по поддержанию веб-сайтов общего хостинга с помощью ASP.NET и SQL Server?

StackOverflow https://stackoverflow.com/questions/314290

Вопрос

Последние пару лет я занимаюсь веб-сайтами 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», который чрезвычайно прост, но, по крайней мере, имеет «Поле запросов», которое позволяет мне отправлять запросы в мою базу данных.) Является ли это стандартом «ASP.NET Enterprise Manager» для хостеров ASP.NET или есть что-то другое, что лучше, например.где вы могли бы редактировать свои данные в сетке и т. д.? И я предполагаю, что у большинства поставщиков вы можете управлять своей онлайн-базой данных SQL Server с помощью SQL Server Management Studio, верно?(Я помню, как в 2001 году управлял онлайн-базой данных SQL Server 2000 у провайдера общего хостинга с помощью Enterprise Manager, и мне потребовалось буквально 10 минут, чтобы увидеть свою базу данных слева, потому что в ней также были перечислены базы данных других 800 клиентов - надеюсь, это уже решено).
  • Как вы выполняете резервное копирование данных из онлайн-базы данных в локальное хранилище? (в настоящее время мне придется написать код, который выводит мои данные в какой-то другой формат, например.XML или SQL-скрипт)
  • И после того, как вы внесете ряд структурных изменений и изменений в данные в свою локальную базу данных, как вы переносите эти изменения и новые данные в свою онлайн-базу данных? (Мне пришлось установить SSMS Tools [http://www.ssmstoolspack.com] чтобы иметь возможность записать мои данные в сценарий, чтобы я мог вернуть их в свою онлайн-базу данных).

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

Это было полезно?

Решение

По большей части то, что вы сейчас делаете, будет работать с веб-сайтом 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.Это позволяет мне сравнить две базы данных (локальную и удаленную), а затем создать сценарий для применения к удаленной базе данных со всеми изменениями.

Удачи

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top