Как развернуть веб-сайт ASP.NET MVC 4 на IIS8

У меня есть приложение ASP.NET MVC 4, и я хочу развернуть его в IIS 8. Я читал в Интернете, что это можно сделать напрямую через VS 2010/2013, создав пакет и опубликовав его, но я хочу развернуть его с помощью менеджер ИИС. Я попытался сделать это вручную, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши сайты (левая панель в диспетчере IIS) > Добавить веб-сайт.
  2. Указание физического пути к моему проекту (я указал его на C:), номер порта (здесь 3500) и имя URL-адреса (например, www.abc.net (или .com)).
  3. Нажав OK, мой веб-сайт появится на левой панели.

Когда я запускаю свой сайт через Chrome, браузер говорит, что не может получить доступ к http://www.abc.net: 3500

Что я здесь делаю неправильно? Что мне нужно сделать, чтобы развернуть мой веб-сайт MVC без Visual Studio?

РЕДАКТИРОВАТЬ: Перейдя по первой ссылке Имрана, кажется, что я сделал шаг вперед. Однако вместо доступа к странице индекса моего приложения это то, что отображает браузер:

Список папок моего проекта

Должен ли я что-то настроить в своем RouteConfig? Вот :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace AstellasSchedulerV2 {
    public class RouteConfig {
        public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");

            routes.MapRoute(
                name: "Default", // Route name
                url: "{controller}/{action}/{id}", // URL with parameters
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }
    }
}

person Traffy    schedule 11.06.2014    source источник


Ответы (3)


Вы можете создать пакет развертывания с помощью Visual Studio, выбрав Build > Publish {имя проекта} и следуя указаниям мастера.

В IIS нажмите на сайт, и в меню Развернуть должна быть опция Импортировать приложение. Если вы этого не видите, вам необходимо установить модуль WebDeploy в IIS .

В качестве альтернативы, если вы все еще разрабатываете свое решение, вы можете настроить Visual Studio для использования вашей установки IIS, перейдя в Свойства > Интернет проекта и выбрав Использовать локальный веб-сервер IIS. Когда вы запускаете свое приложение, оно автоматически копирует сборку на ваш веб-сайт по умолчанию и запускает ее оттуда.

Надеюсь это поможет.

person heymega    schedule 11.06.2014

Без понятия, что ты делаешь не так. Проверьте журналы. Настройте файл web.config, который показывает ошибку при локальном и/или удаленном доступе к сайту в целях отладки. Ваш вопрос похож на "У меня есть машина. Она не работает. Что не так?".

Как только вы включите удаленную отладку в web.config, вы должны увидеть правильное сообщение об ошибке.

http://technet.microsoft.com/en-us/library/bb684665.aspx

говорит, что настройки такие:

Измените атрибут режима customErrors с «RemoteOnly» на «Off», а затем сохраните файл.

и тогда вы должны увидеть больше, чем «Ошибка 500». Разобраться в этом - твоя работа ;)

person TomTom    schedule 11.06.2014
comment
Я думаю, что дал достаточно подробностей... Если нет, то что я должен был упомянуть? Не могли бы вы взглянуть на мой отредактированный пост? Спасибо. - person Traffy; 11.06.2014

пожалуйста, обратитесь к ниже статьи шаг за шагом

IIS 8.0 с использованием ASP.NET 3.5 и ASP.NET 4.5

а также

Веб-развертывание ASP.NET с использованием Visual Studio: Развертывание для тестирования

ИЗМЕНИТЬ

Опубликуйте код своего веб-сайта правильно, а затем попробуйте ниже

1) Пожалуйста, проверьте приведенную ниже конфигурацию в файле global.asax.

RouteConfig.RegisterRoutes(RouteTable.Routes);

2) ваша конфигурация маршрута должна быть

 routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "your default controller", action = "index", id = UrlParameter.Optional }
            );

3) Отключен просмотр каталогов в IIS 8.0.

person MSTdev    schedule 11.06.2014
comment
Спасибо за Ваш ответ. Тем не менее, у меня все еще есть некоторые проблемы. Не могли бы вы увидеть мой обновленный пост? Спасибо еще раз ! - person Traffy; 11.06.2014
comment
Индексное действие — это ваша первая страница? или просто скопируйте и вставьте, какое действие вы хотите использовать по умолчанию, а затем попробуйте - person MSTdev; 11.06.2014
comment
Да, действие Index — это главная страница. Что мне теперь делать? Спасибо за вашу помощь. - person Traffy; 11.06.2014
comment
давайте проверим часть EDIT. - person MSTdev; 11.06.2014
comment
Спасибо за ваш ответ, но мой global.asax.cs и мой RouteConfig точно такие же, как у вас, но все еще не работают. - person Traffy; 11.06.2014
comment
Давайте продолжим обсуждение в чате. - person MSTdev; 11.06.2014