Не найден обработчик http для типа запроса 'GET'

1

В моем контроллере Asp.Net MVC5 я пытаюсь запустить следующий код для выполнения классического сценария asp:

  public ActionResult Index()
  {
    Server.Execute("~/classic/test.asp");
    return new EmptyResult();
  }

Но получите сообщение об ошибке. Я попытался изменить /classic/ папку как на свое приложение (пул), так и на обычную папку, но такую же ошибку. Я также проверил сопоставления обработчиков HTTP в IIS для сайта.net, а .asp - признанный обработчик, поэтому он определенно там. Может быть, есть способ сделать метод URL Rewrite, который позволит вам выполнить любой скрипт в нем? Похоже, что ASP.NET httpHandler не настроен для старых страниц.ASP, но, может быть, это можно изменить?

Кто-нибудь знает, как запустить классический сценарий asp через контроллер, не используя WebRequest? Это возможно с помощью WebRequest но это также больше накладных расходов, чем хотелось бы.

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

  • 0
    Какое сообщение об ошибке это показывает?
  • 1
    Можете ли вы использовать Server.TransferRequest() вместо этого?
Показать ещё 3 комментария
Теги:
asp.net-mvc
asp.net-mvc-5
asp-classic

2 ответа

2
Лучший ответ

Используйте Server.TransferRequest() в представлении вместо контроллера. Как это:

Посмотреть:

@{Server.TransferRequest("~/classic/test.asp");}

Это сделает классическую страницу ASP, как вы ожидаете.

  • 0
    Я отредактировал ваш ответ, т.к. он не работал в контроллере, но работал в представлении.
0

Я решил получить сообщение об ошибке "Нет HTTP-обработчика для типа запроса" GET " с другой функцией из System.Web.HttpResponse и сменой файла web.config.

Пример:

Response.WriteFile("~/include/head.shtml");

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>

Чтобы использовать Server.Execute("~/include/head.shtml") я должен изменить пул приложений в IIS на

"Asp.Net v4.0 Classic"

,

Ещё вопросы

Сообщество Overcoder
Наверх
Меню