У меня есть проект MVC, который я пытаюсь использовать Маршрутизацию атрибутов, однако я получаю получение 404 для действительного URL.Может ли атрибуция маршрутизации в ASP.Net MVC 5 использоваться без веб-API
У меня есть Google, чтобы увидеть, что общие проблемы с атрибутом маршрутизации, чтобы увидеть, если я пропускаю что-то очевидное, и большинство ответов, казалось, убедитесь, что регистрация маршрут выглядит следующим образом:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
С линии routes.MapMvCAttributeRoutes()
- это код, который выполняет поиск контроллеров для атрибутов маршрутизации и настраивает маршруты.
Я также видел несколько ссылок на веб-API, поскольку, по-моему, атрибуты могут использоваться и в APIController.
Однако следующая статья, по-видимому, предполагает, что она может использоваться только в Mvc, поскольку упоминание о веб-API отсутствует.
Attribute Routing in ASP.Net MVC 5
Так есть зависимость и вы должны иметь Web API, чтобы получить маршрут Атрибуты работы в MVC?
UPDATE
Используя следующий усеченный код: '! Мир'
[Route("hello")]
public class SomeController : Controller
{
// GET: Some
public string Index()
{
return "world!";
}
}
я могу получить правильный ответ для url 'localhost: 58268/hello', что является началом. Таким образом, похоже, что вы можете иметь маршрутизацию атрибутов в Mvc 5 без зависимости от веб-API.
Должно быть, я ошибся в определении маршрута в случае фактического кода.
Пожалуйста, разместите код контроллера и атрибуты маршрутизации. –
@PanagiotisKanavos похоже, что я ошибся в определении атрибутов маршрута на фактическом коде контроллера. Как и когда я создавал урезанный контроллер для публикации в качестве примера, я мог бы получить результат. Поэтому, если вы хотите ответить на вопрос: «Нет зависимости от веб-API требуется для атрибутов маршрута Mvc», я отмечу его как ответ. Либо это, либо я должен просто закрыть этот вопрос. Спасибо, в любом случае. –