可以在没有 Web 的情况下使用 ASP.Net MVC 5 中的属性路由 API
Can Attribute Routing in ASP.Net MVC 5 Be Used Without Web API
我有一个 MVC 项目,我正尝试在其中使用属性路由,但是对于有效的 url,我不断收到 404。
我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()
行是在控制器中搜索路由属性并配置路由的代码。
我也看到了一些对 Web API 的引用,因为我相信这些属性也可以在 APIController 中使用。
不过下面的文章似乎暗示可以单独在Mvc中使用,因为没有提到Web API。
Attribute Routing in ASP.Net MVC 5
那么是否存在依赖关系,您是否需要 Web API 才能使路由属性在 MVC 中工作?
更新
使用以下精简代码:
[Route("hello")]
public class SomeController : Controller
{
// GET: Some
public string Index()
{
return "world!";
}
}
我可以得到'world!' url 'localhost:58268/hello' 的有效响应,这是一个开始。所以看起来你可以在 Mvc 5 中使用属性路由而不依赖于 Web API.
我一定是在实际代码的情况下定义了Route。
是的,您可以在没有 webAPI 的情况下使用 MVC 属性路由。它是与 WebAPI 属性路由不同的功能。两者都是在 WebAPI 2 和 MVC 5 中同时引入的。
Web API 属性路由比 MVC 更灵活一些,对于许多场景来说应该可以正常工作。
请注意,在 MVC Core 中,Web API 和 MVC 框架 merged.There 是一个单属性路由功能,它更加灵活,并且解决了以前框架中的大部分限制。
我有一个 MVC 项目,我正尝试在其中使用属性路由,但是对于有效的 url,我不断收到 404。
我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()
行是在控制器中搜索路由属性并配置路由的代码。
我也看到了一些对 Web API 的引用,因为我相信这些属性也可以在 APIController 中使用。
不过下面的文章似乎暗示可以单独在Mvc中使用,因为没有提到Web API。
Attribute Routing in ASP.Net MVC 5
那么是否存在依赖关系,您是否需要 Web API 才能使路由属性在 MVC 中工作?
更新
使用以下精简代码:
[Route("hello")]
public class SomeController : Controller
{
// GET: Some
public string Index()
{
return "world!";
}
}
我可以得到'world!' url 'localhost:58268/hello' 的有效响应,这是一个开始。所以看起来你可以在 Mvc 5 中使用属性路由而不依赖于 Web API.
我一定是在实际代码的情况下定义了Route。
是的,您可以在没有 webAPI 的情况下使用 MVC 属性路由。它是与 WebAPI 属性路由不同的功能。两者都是在 WebAPI 2 和 MVC 5 中同时引入的。
Web API 属性路由比 MVC 更灵活一些,对于许多场景来说应该可以正常工作。
请注意,在 MVC Core 中,Web API 和 MVC 框架 merged.There 是一个单属性路由功能,它更加灵活,并且解决了以前框架中的大部分限制。