0
OData конечная точка создается с помощью Web API ASP.NET 2.0OData Web API Query перехватчик
Попытка создать Query перехватчик в ODataController, как показано в коде ниже:
public class AVMItemController : ODataController
{
ADWAppContext sampleADW = new ADWAppContext("Server=XXX;Database=XXX;User ID=XXX;password=xxx;Trusted_Connection=false;Encrypt=true");
// GET: odata/AVM
[EnableQuery(PageSize=25)]
public IQueryable<ADWAppContext.AVMItem> GetAVMItems()
{
return sampleADW.AVMItems.AsQueryable<ADWAppContext.AVMItem>();
}
[QueryInterceptor("AVMItems")]
public Expression<Func<ADWAppContext.AVMItem, bool>> FilterAVMItems()
{
return avm => avm.avmId > 1000;
}
}
Все OData запросов обрабатываются без учета предиката, указанного в Interceptor Query. У меня есть точка останова в методе перехватчика запросов, которая никогда не попадает.
Неверно, согласно https://blogs.msdn.microsoft.com/odatateam/2011/01/20/odata-and-oauth-protecting-an-odata-service-using-oauth-2-0/ –
@ HrvojeMatić: Эта статья устарела. Код основан на старой реализации WCF OData. Перехватчики запросов не поддерживаются для OData в веб-API. – lencharest