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. У меня есть точка останова в методе перехватчика запросов, которая никогда не попадает.

ответ

3

Web API OData не поддерживает перехватчики запросов.

+0

Неверно, согласно https://blogs.msdn.microsoft.com/odatateam/2011/01/20/odata-and-oauth-protecting-an-odata-service-using-oauth-2-0/ –

+0

@ HrvojeMatić: Эта статья устарела. Код основан на старой реализации WCF OData. Перехватчики запросов не поддерживаются для OData в веб-API. – lencharest

Смежные вопросы