using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using InCubatize.Helpers;
namespace InCubatize
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//1
////Create and instance of TokenInspector setting the default inner handler
//TokenInspector tokenInspector = new TokenInspector() { InnerHandler = new HttpControllerDispatcher(config) };
////Just exclude the users controllers from need to provide valid token, so they could authenticate
//config.Routes.MapHttpRoute(
// name: "Authentication",
// routeTemplate: "api/users/{id}",
// defaults: new { controller = "users" }
//);
//config.Routes.MapHttpRoute(
// name: "DefaultApi",
// routeTemplate: "api/{controller}/{id}",
// defaults: new { id = RouteParameter.Optional },
// constraints: null,
// handler: tokenInspector
//);
//end1
config.Routes.MapHttpRoute(name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
config.Routes.MapHttpRoute(name: "DefaultApiWithActionAndTwoParams",
routeTemplate: "api/{controller}/{action}/{id1}/{id2}",
defaults: new { id = RouteParameter.Optional });
config.Routes.MapHttpRoute(name: "DefaultApiWithActionAndFiveParams",
routeTemplate: "api/{controller}/{action}/{id1}/{id2}/{id3}/{id4}/{id5}/{id6}",
defaults: new { id = RouteParameter.Optional });
//Old Code.
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.EnableQuerySupport();
// To disable tracing in your application, please comment out or remove the following line of code
// For more information, refer to: http://www.asp.net/web-api
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling =
Newtonsoft.Json.PreserveReferencesHandling.None;
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.EnableSystemDiagnosticsTracing();
}
}
}
Obtenir l'erreur ci-dessous: -
'System.Web.Http.HttpConfiguration' ne contient pas de définition pour 'EnableQuerySupport' et aucune méthode d'extension 'EnableQuerySupport' Accepte un premier argument de type 'System.Web.Http.HttpConfiguration' pourrait être trouvé (il vous manque une directive d'utilisation ou une référence d'assemblage ?)
Dans Visual Studio, allez dans "Outils", puis "Gestionnaire de packages Nuget", puis "Console du gestionnaire de packages".
Exécutez la commande ci-dessous et cela résoudra le problème. Je l'ai testé.
package de mise à jour Microsoft.aspnet.webapi -reinstall
Remarque: cette API est maintenant obsolète.
https://msdn.Microsoft.com/de-de/library/jj918506(v=vs.118).aspx
Vérifiez System.Web.Http.OData.dll - d’où provient cette méthode, selon MSDN