Как опубликовать приложение ASP.NET MVC на бесплатном хосте - PullRequest
2 голосов
/ 18 февраля 2011

Я создаю приложение ASP.NET MVC и пытаюсь развернуть его на бесплатном хосте (0000free), который поддерживает ASP.NET.Я попробовал пару вещей, но ни одна из них не сработала (т.е. я вижу структуру каталогов только при просмотре своего веб-сайта):

  1. Публикация в локальной папке и затем копирование опубликованных файлов с помощьюftp к моему хосту (в каталоге public_html).
  2. Публикация через ftp в корневую папку: ftp.mywebsite.com
  3. Публикация через ftp в папку public_html: ftp.mywebsite.com/ public_html

Обычно я просто отбрасываю html-файлы в папку public_html, но у меня возникает ощущение, что процесс развертывания приложения MVC немного отличается.Нужно ли изменять Web.config или какой-либо другой файлер?Как обычно развертывать приложение MVC (на бесплатном хосте)?

Обновление:
Я узнал, что хост использует Mono и поддерживает .NET 4.0, но я все еще не могу развернуть.

У меня VisualStudio 2010 и я использовали ее функцию публикации (т.е. щелкните правой кнопкой мыши на имени проекта и выберите публикацию), и я попробовал несколько вещей:

  1. Метод публикации: FTP в корневую папку.
  2. Метод публикации: FTP в папку publich_html.
  3. Метод публикации: Файловая система в корневой папке.
  4. Метод публикации: Файловая система в папку publich_html.
  5. Метод публикации:Файловая система в локальный каталог на моем компьютере, а затем FTP в корневой каталог, а также попробовал папку public_html.
  6. Я зашел в cPanel (панель управления), чтобы проверить, нужно ли добавлять / включать ASP.NETдля моего веб-сайта, но я ничего там не увидел.
  7. Я не могу перейти на Index.aspx и не могу перенаправить на него файл index.html (как это было предложено в других публикациях на хост форума ), щас у меня есть ссылка из индекса.html в Index.aspx, но он также не работает (см. http://www.mydevarmy.com)
  8. Я также пытался переименовать Index.aspx в Default.aspx, но это тоже не работает.

Утилита поиска по форуму хоста несколько слаба, поэтому я использую Google для поиска по форуму: http://www.google.com/search?q=publish+asp.net+site%3A0000free.com%2Fforum%2F&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

Я читал Pro ASP.NET MVC Framework и у них есть глава о публикации, но она не предоставляет никакой конкретной информации о месте публикации, это все, что они говорят (и в моем случае это не очень полезно):

Куда я должен поместить мое приложение?
Вы можете развернуть свое приложение в любой папке на сервере.Когда IIS впервые устанавливается, он автоматически создает папку для веб-сайта с именем Default Web Site по адресу c: \ Inetpub \ wwwroot \, но вы не должны чувствовать себя обязанным помещать туда файлы своих приложений.Распространено размещение приложений на физическом диске, отличном от операционной системы (например, в e: \ sites \ example.com).Это полностью зависит от вас, и на него могут повлиять такие проблемы, как то, как вы планируете выполнять резервное копирование сервера.

Вот ошибка, которую я получаю, когда пытаюсь просмотреть страницу Index.aspx:

Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config line 1)

Description: HTTP 500. Error processing request.

Stack Trace:

System.Configuration.ConfigurationErrorsException: Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config line 1)
  at System.Configuration.ConfigurationElement.DeserializeElement (System.Xml.XmlReader reader, Boolean serializeCollectionKey) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSection.DoDeserializeSection (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSection.DeserializeSection (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 
  at System.Configuration.Configuration.GetSectionInstance (System.Configuration.SectionInfo config, Boolean createDefaultInstance) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSectionCollection.get_Item (System.String name) [0x00000] in <filename unknown>:0 
  at System.Configuration.Configuration.GetSection (System.String path) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path, System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetWebApplicationSection (System.String sectionName) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.get_CompilationConfig () [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 

Ответы [ 2 ]

7 голосов
/ 18 февраля 2011

Если ваш хостинг-провайдер поддерживает ASP.NET MVC, то процесс развертывания не должен отличаться от процесса для обычного приложения ASP.NET. Если этого не произойдет, вы можете попытаться bin-deploy . А вот еще одна статья на MSDN.

1 голос
/ 19 февраля 2011

Оказывается, версия Mono не поддерживает MVC, поэтому мне пришлось сменить хост на тот, который поддерживает ASP.NET MVC. Я должен был внести немного денег, но «хороший хостинг» не бесплатный. В любом случае, спасибо за помощь всем!

...