在global.asax中启用Web api属性路由
本文关键字:api 属性 路由 Web 启用 global asax | 更新日期: 2023-09-27 18:33:02
我想为 Web API 启用属性路由,因为它看起来会使路由更容易定义。 这里的示例:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 显示了如何在 WebApiConfig.cs 文件中完成此操作:
using System.Web.Http;
namespace WebApplication
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
// Other Web API configuration not shown.
}
}
}
但是,我的项目是一个旧的 Web 表单项目,最初是在 .Net 2.0 中启动的(经过多年的多次升级,现在是 4.5)。 我没有 WebApiConfig.cs 文件,而是使用以下方法直接在 global.asax Application_Start 方法中定义我当前的路由:
RouteTable.Routes.MapHttpRoute(...)
谁能解释在这种情况下启用基于属性的路由的最佳方法?谢谢
您可以在Global.asax
文件中执行GlobalConfiguration.Configuration.MapHttpAttributeRoutes();
。
GlobalConfiguration.Configuration
对象传递到WebApiConfig
文件,因此您可以使用此类来配置所需的所有内容Global.asax
您应该将这 2 行放在路由定义之前,它会很好地工作
GlobalConfiguration.Configuration.MapHttpAttributeRoutes();
GlobalConfiguration.Configuration.EnsureInitialized();
干杯