gpt4 book ai didi

asp.net-mvc - MVC 5 中的 Web API 属性路由异常 : The object has not yet been initialized. 确保 HttpConfiguration.EnsureInitialized()

转载 作者:行者123 更新时间:2023-12-02 04:29:35 25 4
gpt4 key购买 nike

在具有 Web API 的 MVC 5 上,我有以下内容,仅使用属性路由:

RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.([iI][cC][oO]|[gG][iI][fF])(/.*)?" }); // TODO: Check for Apple Icons

RouteTable.Routes.MapMvcAttributeRoutes();
GlobalConfiguration.Configuration.MapHttpAttributeRoutes();
AreaRegistration.RegisterAllAreas();

在 RouteTable 中创建了所有 MVC 路由...但不是 API 路由...

我检查了 RouteTable.Routes,发现一个异常:

该对象尚未初始化。确保在应用程序的启动代码中在所有其他初始化代码之后调用 HttpConfiguration.EnsureInitialized()。

at System.Web.Http.Routing.RouteCollectionRoute.get_SubRoutes() at System.Web.Http.Routing.RouteCollectionRoute.GetEnumerator() at System.Linq.SystemCore_EnumerableDebugView`1.get_Items()

为了测试这一点,我只向项目添加了两个 Web Api 操作:

[RoutePrefix("api")]
public class StatApiController : ApiController {

[Route("stats/notescreateddaily"), HttpGet]
public IHttpActionResult NotesCreatedDaily() {
// Some code
}

[Route("stats/userscreateddaily"), HttpGet]
public IHttpActionResult UsersCreatedDaily() {
// Some code
}

}

我错过了什么吗?

谢谢你,米格尔

最佳答案

解决方案实际上是替换:

GlobalConfiguration.Configuration.MapHttpAttributeRoutes();

作者:

GlobalConfiguration.Configure(x => x.MapHttpAttributeRoutes());

这是 Web API 2 中的更改。

关于asp.net-mvc - MVC 5 中的 Web API 属性路由异常 : The object has not yet been initialized. 确保 HttpConfiguration.EnsureInitialized(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882260/

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