public void OnProvidersExecuted(ActionDescriptorProviderContext context) { if (routeCollectionProvider.Items.Count == 0) { return; } var results = context.Results; var conventions = new IODataActionDescriptorConvention[] { new ImplicitHttpMethodConvention(), new ODataRouteBindingInfoConvention(routeCollectionProvider, modelMetadataProvider, options), }; for (var i = results.Count - 1; i >= 0; i--) { var result = results[i]; if (!(result is ControllerActionDescriptor action) || !action.ControllerTypeInfo.IsODataController()) { continue; } results.RemoveAt(i); for (var j = 0; j < conventions.Length; j++) { conventions[j].Apply(context, action); } } }
public void OnProvidersExecuted(ActionDescriptorProviderContext context) { if (routeCollectionProvider.Items.Count == 0) { return; } var results = context.Results.ToArray(); var conventions = new IODataActionDescriptorConvention[] { new ImplicitHttpMethodConvention(), new ODataRouteBindingInfoConvention(routeCollectionProvider, modelMetadataProvider, options), }; foreach (var action in ODataActions(results)) { foreach (var convention in conventions) { convention.Apply(context, action); } } }