Захват URL-адреса запроса клиента и его анализ в Odata - PullRequest
0 голосов
/ 16 марта 2012

Я искал поставщика отражения Odata, и я понимаю, что запросы, которые клиентский запрос будет фильтровать в списке (объект CLR), который мы представляем как элемент IQuereable. Есть ли способ, которым мы можем захватить URL запроса запроса на стороне сервера и проанализируйте URL, чтобы мы могли заполнить список, который мы предоставляем, соответствующей информацией по требованию вместо заполнения целым дампом данных?

1 Ответ

1 голос
/ 16 марта 2012

Разработанный способ сделать это - реализовать IQueryable. Он может быть немного сложным, но он дает вам всю необходимую информацию без необходимости разбора URL (что еще сложнее сделать правильно).

Посмотрите на эту серию блогов, в которых описаны деревья выражений, с которыми вы можете столкнуться: http://blogs.msdn.com/b/vitek/archive/2010/02/25/data-services-expressions-part-1-intro.aspx

А затем, вероятно, этот, который показывает, что вы можете обрабатывать только части дерева выражений и оценивать оставшуюся в памяти, как вы делаете сегодня: http://blogs.msdn.com/b/vitek/archive/2012/01/07/projections-in-custom-providers-simple-solution.aspx

Я знаю несколько реализаций сервера OData, которые используют этот подход частичной реализации IQueryable (в основном фильтрация и сортировка выполняются в бэкэнде, а остальное - в памяти).

...