Почему службы данных ADO.NET используют $ в качестве идентификатора параметра запроса?

/Customers?$skip=30&$top=10

Есть ли причина, по которой вам нужен '?' или '&' И '$' для определения параметра запроса?

Это случай утечки реализации в интерфейс? Я не обязательно хочу раскрывать пользователям тот очевидный факт, что я использую .NET Data Services. особенно, если позже я захочу изменить реализацию на другую технологию ...

Или есть простой способ отключить необходимость использования символа «$» для обозначения параметра запроса?

Так выглядит намного презентабельнее ...

/Customers?skip=30&top=10    

Спасибо


person Steve Casey    schedule 22.06.2009    source источник


Ответы (1)


Параметры строки запроса, начинающиеся с символа $, называются параметрами системного запроса и обозначают действия, поддерживаемые службами данных ADO.NET. По сути, это делается для того, чтобы отличить общесистемные "ключевые слова" от имен свойств модели.

Чтобы решить эту проблему, вы можете попробовать переписать свои URL-адреса с /Customers?skip=30&top=10 на /Customers?$skip=30&$top=10 или даже передать эту системную информацию в заголовках HTTP (если это возможно).

person Anton Gogolev    schedule 23.06.2009
comment
да, нашел это на msdn, который объясняет синтаксис msdn.microsoft.com/en- us / library / cc668809.aspx - person Steve Casey; 23.06.2009