Я создаю приложение ASP.NET MVC 5, и у меня есть некоторые проблемы с маршрутизацией. Мы используем атрибут Route
для сопоставления наших маршрутов в веб-приложении. У меня есть следующее действие:
[Route("{type}/{library}/{version}/{file?}/{renew?}")]
public ActionResult Index(EFileType type,
string library,
string version,
string file = null,
ECacheType renew = ECacheType.cache)
{
// code...
}
Мы можем получить доступ к этому URL-адресу только в том случае, если в конце url
мы передаем слэш char /
, например:
type/lib/version/file/cache/
Он отлично работает, но не работает без /
, я получаю 404
не найденную ошибку, например
type/lib/version/file/cache
или это (без дополнительных параметров):
type/lib/version
Я хотел бы получить доступ с /
char или без него в конце url
. Мои последние последние параметры являются необязательными.
Мой RouteConfig.cs
выглядит следующим образом:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
}
}
Как я могу это решить? Сделать косую черту /
необязательной?