system.web.http.routing.httprouteextensions.getdirectouteCandIdates(ihttproute路由)中的nullreferenceException。
-
21-12-2019 - |
题
我有,
var config = GlobalConfiguration.Configuration;
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
app.UseWebApi(config);
public class UserController : ApiController {
[Route("api/users")]
public async Task<IEnumerable<Product>> Get(int pageIndex = 1)
{
return await myService.GetAllAsync(pageIndex, _pageSize);
}
.
当我运行它并导航到我得到的API /用户,
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
Object reference not set to an instance of an object.
</ExceptionMessage>
<ExceptionType>System.NullReferenceException</ExceptionType>
<StackTrace>
at System.Web.Http.Routing.HttpRouteExtensions.GetDirectRouteCandidates(IHttpRoute route) at System.Web.Http.Routing.HttpRouteDataExtensions.GetDirectRouteCandidates(IHttpRouteData routeData) at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.GetDirectRouteController(IHttpRouteData routeData) at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.SelectController(HttpRequestMessage request) at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__0.MoveNext()
</StackTrace>
</Error>
. 解决方案
我需要使用globalconfiguration.configure方法而不是web主机,
不隶属于 StackOverflow