ASP.NET Web API 扩展 DefaultDirectRouteProvider

ASP.NET Web API extending DefaultDirectRouteProvider

我正在尝试创建一个 CustomerDefaultDirectRouteProvider,在 Web API 2.2 中扩展 DefaultDirectRouteProvider,如 this example。但是,当我实现方法 GetActionRouteFactories(HttpActionDescriptor actionDescriptor) 时,出现错误 "no suitable method found to override".

我可以覆盖 GetActionRouteFactories(ActionDescriptor actionDescriptor),但是 ActionDescriptor class 没有方法 GetCustomAttributes<IDirectRouteFactory>.

我正在导入以下命名空间:

using System.Collections.Generic;
using System.Web.Mvc;
using System.Web.Mvc.Routing;
using System.Web.Routing;
using System.Web.Http.Controllers;

我是不是漏掉了一些?

您正在混合使用 MVC 和 WebAPI。两者都有 DefaultDirectRouteProvider class。我建议您删除 .Mvc-命名空间并使用 System.Web.Http.Routing.

中的命名空间