У меня есть следующий маршрут в RouteConfig.cs:
routes.MapRoute(
"MyLegacyRoute",
"Content/bootstrap.css",
new { controller = "Legacy", action = "GetLegacyUrl", legacyUrl = "someUrl" });
~/Content/bootstrap.css
существует, и вместо отображения его содержимого при переходе к http://localhost:27541/Content/bootstrap.css
я хочу выполнить действие GetLegacyUrl
вLegacy
контроллер.
Я добавил это в Web.config:
<system.webServer>
<handlers>
<add name="UrlRoutingHandler" path="/Content/*" verb="GET" type="System.Web.Routing.UrlRoutingHandler" />
...
и
<system.web>
<httpRuntime targetFramework="4.5" relaxedUrlToFileSystemMapping="true"/>
...
Однако, когда я получаю доступ к http://localhost:27541/Content/bootstrap.css
, я получаю этоошибка:
Ошибка сервера в приложении '/'.Невозможно создать абстрактный класс.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.MissingMethodException: Невозможно создать абстрактный класс.
Мой контроллер выглядит следующим образом:
public class LegacyController : Controller
{
public ActionResult GetLegacyUrl(string legacyUrl)
{
return View((object)legacyUrl);
}
}
Мое представление (GetLegacyUrl.cshtml)выглядит следующим образом:
@model string
@{
ViewBag.Title = "GetLegacyUrl";
Layout = null;
}
<h2>GetLegacyUrl</h2>
The URL requested was @Model
Я пытаюсь сделать это только для того, чтобы узнать больше о маршрутизации.
Что я могу сделать, чтобы успешно использовать этот маршрут?