Используйте System.Web.Mvc в приложении веб-форм не MVC ASP.NET

Мы разрабатываем приложение ASP.NET Web Forms с моделируемым URL-адресом REST, для которого мы используем таблицы маршрутизации в global.asax. Однако недавно мы столкнулись с проблемой, когда файлы WebResource.axd и ScriptResource.axd также маршрутизировались. Мы хотели использовать функцию RouteCollection.IgnoreRoute. Однако, так как это в System.Web.Mvc, это будет означать, что нам нужно будет ссылаться на эту dll в приложении не MVC Web Forms.

Безопасно ли нам продолжать этот подход? Если у кого-то есть лучший способ игнорировать маршруты из приложения Web Forms, пожалуйста, поделитесь им. Также обратите внимание, что приложение было интенсивно разработано в веб-формах, и переход на MVC на данном этапе неосуществим.

2 ответа

Решение

Для веб-форм вам необходимо использовать System.Web.Routing

Поместите это Global.asax

void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
    routes.Ignore("{resource}.axd/{*pathInfo}");

    routes.MapPageRoute(
       "Home",      // Route name
       "WWWWWW",      // Route URL
       "~/Default.aspx" // Web page to handle route
    );
}

Знаете ли вы, что вы могли бы безопасно запустить приложение ASP.NET Web Forms и MVC вместе? Вот несколько ссылок:

Кроме того, вы можете просто использовать URL-маршрутизацию в приложениях ASP.NET 4, как указано выше зарегистрированным пользователем. Подробнее об этом читайте здесь: http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

Другие вопросы по тегам