gpt4 book ai didi

asp.net-mvc - AttributeRouting WebAPI 现在产生错误

转载 作者:行者123 更新时间:2023-12-02 05:20:55 29 4
gpt4 key购买 nike

我刚刚在我的 WebAPI 项目上更新了(从 v3.x)到最新版本的 AttributeRouting,它刚刚开始产生我以前从未见过的错误。

现在,每当调用 API 时,我都会收到如下错误:

System.InvalidOperationException: The constraint entry 'inboundHttpMethod' on the route with route template 'my/path' must have a string value or be of a type which implements 'IHttpRouteConstraint'.
at System.Web.Http.Routing.HttpRoute.ProcessConstraint(HttpRequestMessage request, Object constraint, String parameterName, HttpRouteValueDictionary values, HttpRouteDirection routeDirection)
at System.Web.Http.Routing.HttpRoute.ProcessConstraints(HttpRequestMessage request, HttpRouteValueDictionary values, HttpRouteDirection routeDirection)
at System.Web.Http.Routing.HttpRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
at AttributeRouting.Web.Http.Framework.HttpAttributeRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
at System.Web.Http.WebHost.Routing.HttpWebRoute.GetRouteData(HttpContextBase httpContext)
at System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext)
at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context)
at System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

几个月来一直没有出现任何问题。

文档中没有详细说明任何用法更改。我的配置文件看起来是正确的。

出了什么问题?我找不到其他人报告此事。

最佳答案

绝对是内存托管类型问题。最近,我在更新到 MVC 5 后遇到了同样的问题。我查看了各种帖子,实际上找到了一个最终帮助我解决的问题。这是我解决这个问题的方法。

安装属性路由库后,global.ascx 文件中必须包含以下内容。

AttributeRoutingHttpConfig.RegisterRoutes(GlobalConfiguration.Configuration.Routes);

在 AttributeRoutingHttpConfig 类中,替换以下代码:

routes.MapHttpAttributeRoutes();

routes.MapHttpAttributeRoutes(cfg =>
{
cfg.InMemory = true;
cfg.AutoGenerateRouteNames = true;
cfg.AddRoutesFromAssemblyOf<ANY_API_Controller>();
});

此处,ANY_API_Controller 指的是项目中的任何 apicontroller 类。

关于asp.net-mvc - AttributeRouting WebAPI 现在产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18446316/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com