Я создаю веб-приложение в ASP.NET 5 с помощью Visual Studio 2015. Я создал решение с уровнями доступа к данным, бизнесу, услугам и пользовательскому интерфейсу. Я ссылался на Службы на уровне пользовательского интерфейса. Поскольку в MVC 6 оба Web API и MVC попадают под один и тот же шаблон проекта, необходимо иметь два разных уровня для сервисов и UI или того же проекта с разными контроллерами.Веб-приложение в ASP.NET 5
А также в проекте UI я раскомментировали следующие строки в Startup.cs
services.AddWebApiConventions();
routes.MapWebApiRoute("DefaultApi", "api/{controller}/{id?}");
Во время работы проекта, домашняя страница приходит нормально, но когда я нажимаю на ссылки в домашней странице URL-адрес подобные изменения
http://localhost:45075/api/Home
И это дает ошибочную страницу говорят, что
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied.
Sample.Services.Controllers.HomeController.Index
Sample.Services.Controllers.HomeController.About
Sample.Services.Controllers.HomeController.Contact
Sample.Services.Controllers.HomeController.Error
Мои понимание того, что с тех пор я включил соглашения Web API, это будет домашний контроллер услуг, который имеет атрибут маршрута
[Route("api/[controller]")]
Если это так, как разрешить этот конфликт, указав пространство имен или некоторые ограничения при визуализации представлений в маршрутах.
Я новичок. Поправьте меня, если я ошибаюсь.
Пожалуйста, постарайтесь задать один вопрос за сообщение, это облегчает предоставление полезных ответов. При этом вам нужно использовать соглашения или явное сопоставление, а не то, и другое. – Claies