Я попробовал решение, описанное в этой статье здесь: Original articleOData с никаких действий метаданных не работают
Как описано я сделал:
var defaultConventions = ODataRoutingConventions.CreateDefault();
var conventions = defaultConventions.Except(
defaultConventions.OfType<MetadataRoutingConvention>());
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: model,
pathHandler: new DefaultODataPathHandler(),
routingConventions: conventions);
Все работало нормально, не больше информации метаданных. Стандартная работа запроса Хорошо, но несвязанные действия и функции больше не работают, я получаю ответ 404.
зарегистрировать действия в OData модели строителя, как:
var validateEmailAction = builder.Action("ValidateEmail");
validateEmailAction.Parameter<string>("Email");
И в контроллере я есть:
[HttpPost]
[ODataRoute("ValidateEmail")]
public async Task<IHttpActionResult> ValidateEmail(ODataActionParameters parameters)
{
}
Любые предложения, как я могу достичь прячась Odatametada но до сих пор действия/функции работают?
Вы пропустили пространство имен в URL-адресе или забыли включить EnableUnqualifiedNameCall? –