本文整理汇总了C#中System.Web.Http.HttpConfiguration.AddODataQueryFilter方法的典型用法代码示例。如果您正苦于以下问题:C# HttpConfiguration.AddODataQueryFilter方法的具体用法?C# HttpConfiguration.AddODataQueryFilter怎么用?C# HttpConfiguration.AddODataQueryFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Http.HttpConfiguration
的用法示例。
在下文中一共展示了HttpConfiguration.AddODataQueryFilter方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Register
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API routes
config.MapHttpAttributeRoutes();
// enable EnableQuery (global)
config.AddODataQueryFilter();
// enable external consuming
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
// config.Routes.MapHttpRoute(
// name: "DefaultApi",
// routeTemplate: "api/{controller}/{id}",
// defaults: new { id = RouteParameter.Optional });
// return JSON
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
}
示例2: Configuration
private static void Configuration(IAppBuilder builder)
{
HttpConfiguration configuration = new HttpConfiguration();
var server = new HttpServer(configuration);
configuration.Routes.MapDynamicODataServiceRoute(
"odata",
"odata",
server);
DynamicOData.AddDataSource(new maskx.OData.Sql.SQLDataSource(_DataSourceName));
//DynamicOData.AddDataSource(new maskx.OData.Sql.SQL2008(_DataSourceName,
// ConnectionString,
// (action, target) =>
// {
// Console.WriteLine("{0}\t{1}\t{2}", "permissionCheck", action, target);
// return true;
// }));
//DynamicOData.BeforeExcute = (ri) =>
//{
// ri.Parameters["UserId"] = new JValue(3003);
// Console.WriteLine("BeforeExcute:{0}", ri.Target);
//};
configuration.AddODataQueryFilter();
builder.UseWebApi(configuration);
}
示例3: Register
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
//config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("multipart/form-data"));
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.Indented;
config.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local;
config.Formatters.JsonFormatter.SerializerSettings.DateFormatString = "yyyy-MM-ddTHH:mm:ss";
config.AddODataQueryFilter();
//Odata case insensitive
config.EnableCaseInsensitive(true);
}
示例4: Register
public static void Register(HttpConfiguration config)
{
config.Filters.Add(new CheckPermissionAttribute { Permission = PredefinedPermissions.SecurityCallApi });
// Web API routes
config.MapHttpAttributeRoutes();
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
var formatter = config.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
formatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
formatter.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
//formatter.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;
formatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
formatter.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
//config.Formatters.JsonFormatter.SerializerSettings.
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
//config.EnableQuerySupport();
config.AddODataQueryFilter();
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.None;
json.SerializerSettings.Formatting = Formatting.Indented;
json.SerializerSettings.Error += (sender, args) =>
{
//Need escalate any JSON serialization exception as HTTP error
HttpContext.Current.AddError(args.ErrorContext.Error);
};
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
示例5: Register
public static void Register(HttpConfiguration config)
{
config.Filters.Add(new CheckPermissionAttribute { Permission = PredefinedPermissions.SecurityCallApi });
// Web API routes
config.MapHttpAttributeRoutes();
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
//config.Routes.MapHttpRoute("DefaultApiGet", "api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"^[0-9]+$" });
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional, action = RouteParameter.Optional });
var formatter = config.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver = new DeltaContractResolver(formatter);
formatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
formatter.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
//formatter.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;
formatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
//config.Formatters.JsonFormatter.SerializerSettings.
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
//config.EnableQuerySupport();
config.AddODataQueryFilter();
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.None;
json.SerializerSettings.Formatting = Formatting.Indented;
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
示例6: Register
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API routes
config.MapHttpAttributeRoutes();
config.AddODataQueryFilter();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
config.Formatters.Remove(config.Formatters.XmlFormatter);
//var corsAttr = new EnableCorsAttribute("*", "*", "*");
//config.EnableCors(corsAttr);
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
}
示例7: Register
public static void Register(HttpConfiguration config)
{
// OData configuration
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Author>("authors");
builder.EntitySet<Blog>("blogs");
builder.EntitySet<Comment>("comments");
builder.EntitySet<Post>("posts");
builder.ContainerName = "BlogItDataService";
config.Routes.MapODataServiceRoute("OData", "api/odata", builder.GetEdmModel());
var queryAttributes = new EnableQueryAttribute()
{
PageSize = 100,
MaxTop = 100,
EnsureStableOrdering = false
};
config.AddODataQueryFilter(queryAttributes);
// Web API attribute routing
config.MapHttpAttributeRoutes();
// Additional formatters
config.Formatters.Add(new BsonMediaTypeFormatter());
}
示例8: Register
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// OData
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Player>("Players");
builder.EntitySet<BattingDetail>("BattingDetails");
builder.EntitySet<BowlingDetail>("BowlingDetails");
builder.EntitySet<Country>("Countrys");
builder.EntitySet<Match>("Matches").EntityType.HasKey(m => m.MatchNumber);
config.AddODataQueryFilter();
config.MapODataServiceRoute(
routeName: "odata",
routePrefix: "odata",
model: builder.GetEdmModel());
}
示例9: Register
public static void Register(HttpConfiguration config)
{
// Attribute routing.
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "v1/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
config.AddODataQueryFilter();
var builder = new ODataConventionModelBuilder();
builder.EntitySet<Repository>("Repositories");
builder.EntitySet<Session>("Sessions");
builder.EntitySet<LogEntry>("LogEntries");
config.Routes.MapODataServiceRoute("odata", "odata/v1", builder.GetEdmModel());
// 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
config.EnableSystemDiagnosticsTracing();
// Use camel case for JSON data.
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
示例10: Register
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API routes
config.MapHttpAttributeRoutes();
config.AddODataQueryFilter();
config.Routes.MapHttpRoute(
name: "PostsApi",
routeTemplate: "api/{controller}/{action}"
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
}
示例11: Configuration
public void Configuration(IAppBuilder app)
{
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
//app.UseWelcomePage();
var config = new HttpConfiguration();
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.AddODataQueryFilter();
app.UseWebApi(config);
//app.MapSignalR();
//ADD DUMMY DATA
IList<Person> persons = new List<Person>();
persons.Add(new Person() { Id = 1, Age = 34, Name = "Claudio" });
persons.Add(new Person() { Id = 2, Age = 28, Name = "Fabi" });
Singleton.Instance.Persons = new List<Person>(persons);
}
示例12: UpdateConfiguration
public static void UpdateConfiguration(HttpConfiguration configuration)
{
configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
var conventions = ODataRoutingConventions.CreateDefault();
configuration.MapODataServiceRoute("CustomActionConventions", "CustomActionConventions", GetCustomActionConventionsModel(configuration), new DefaultODataPathHandler(), ODataRoutingConventions.CreateDefault());
configuration.AddODataQueryFilter();
}
示例13: Register
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.EnableCors();
config.AddODataQueryFilter();
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional });
}
示例14: Register
public static void Register(HttpConfiguration config)
{
DynamicModelHelper.CustomMapODataServiceRoute(
config.Routes,
"odata",
"odata");
config.AddODataQueryFilter();
}
示例15: UpdateConfiguration
public static void UpdateConfiguration(HttpConfiguration configuration)
{
configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
IList<IODataRoutingConvention> conventions = ODataRoutingConventions.CreateDefault();
conventions.Insert(0, new ReflectedPropertyRoutingConvention());
configuration.MapODataServiceRoute("OData", null, GetEdmModel(configuration), new DefaultODataPathHandler(), conventions);
configuration.AddODataQueryFilter();
}