У меня есть сайт, где часть веб-форм (Umbraco CMS), а часть MVC
Это HttpHandler для работы с функциональностью MVC:
public class Mvc : MvcHttpHandler
{
protected override void ProcessRequest(HttpContext httpContext)
{
httpContext.Trace.Write("Mvc.ashx", "Begin ProcessRequest");
string originalPath = httpContext.Request.Path;
string newPath = httpContext.Request.QueryString["mvcRoute"];
if (string.IsNullOrEmpty(newPath))
newPath = "/";
httpContext.Trace.Write("Mvc.ashx", "newPath = "+newPath );
HttpContext.Current.RewritePath(newPath, false);
base.ProcessRequest(HttpContext.Current);
HttpContext.Current.RewritePath(originalPath, false);
}
}
Полная информация о том, как это реализовано здесь
Этот метод хорошо работает на веб-сайте MVC 1.0.
Однако, когда я обновляю этот сайт до MVC 2.0, следуя инструкциям Документация по обновлению Microsoft ; все компилируется, кроме как во время выполнения я получаю это исключение:
Ошибка сервера в приложении '/'.
Ресурс не найден.
Описание: HTTP 404. Ресурс
вы ищете (или один из его
зависимости) можно было бы удалить,
изменилось ли его имя, или
Временно недоступен. пожалуйста
просмотрите следующий URL и убедитесь, что
что оно написано правильно.
Запрошенный URL: /mvc.ashx
Информация о версии: Microsoft .NET
Версия Framework: 2.0.50727.4927;
ASP.NET версия: 2.0.50727.4927
Этот ресурс и его зависимости хорошо видны в MVC 1.0, но не в MVC 2.0. Нужно ли добавить дополнительную зависимость?
Я что-то упускаю? Есть ли изменения в работе MVC 2.0?