Управление Content-Type из сервиса REST - PullRequest
0 голосов
/ 16 июня 2011

Я работаю над службой REST на основе шаблона службы WCF REST в VS2010. Из коробки у вас может быть служба, возвращающая XML или JSON, основанная на типе Accept, указанном в запросе, но как мне добавить свой собственный формат .... Я нашел пример:

http://msdn.microsoft.com/en-us/library/ee476510.aspx

где вы проверяете заголовок Accept в методе и возвращаете Message на основе этого типа, однако мне не очень нравится реализовывать это во всех моих методах обслуживания.

Что мне действительно нравится, так это способ, которым я мог бы аннотировать (атрибутировать) мой DataContract с помощью форматера / сериализатора для каждого типа Content-Type, который я хочу поддерживать, и затем фреймворк вызывать мой форматтер / сериализатор при запросе Тип содержимого не поддерживается "из коробки".

Есть ли уже некоторые точки расширения в инфраструктуре службы REST WCF для этого ??

Любая помощь будет принята с благодарностью TIA

Сорен

1 Ответ

0 голосов
/ 16 июня 2011

WcfRestContrib должен иметь возможность сделать это через Formatters . Он предоставляет набор встроенных средств форматирования для сообщений форм в формате XML, JSON, URL, а также позволяет создавать собственные средства форматирования.

Встроенный webHttpBinding в WCF на данный момент не имеет этой функциональности - он разрешает только appliation/json и text/xml согласование, и другие типы контента могут быть сопоставлены с этими двумя с помощью сопоставления пользовательских типов контента .

«Атрибуты» для форматирования ответов доступны только для синдикации, где это работает немного иначе. Сервис всегда должен возвращать SyndicationFeedFormatter, а известные типы позволяют определять несколько производных форматеров для Atom или Rss.

...