从REST服务控制Content-Type

时间:2011-06-16 13:14:35

标签: content-type wcf-rest wcf-rest-starter-kit

我在VS2010中基于'WCF REST服务模板'开发REST服务。开箱即用,您可以根据请求中指定的Accept类型获得服务返回XML或JSON,但如何添加自己的格式.... 我找到了一个例子:

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

您在方法中测试Accept标头,并根据该类型返回Message,但我不是真的想在我的所有服务方法中实现它。

我真正喜欢的是一种方法,我可以使用格式化程序/序列化程序为我想要支持的每种Content-Type注释(属性)我的DataContract,然后在要求时框架调用我的格式化程序/序列化程序内容类型不支持开箱即用。

在WCF REST服务框架中是否已经有一些扩展点用于执行此操作?

非常感谢任何帮助 TIA

索伦

1 个答案:

答案 0 :(得分:0)

WcfRestContrib should be able to do this via Formatters。它提供了用于XML,JSON,URL编码表单帖子的格式化程序集,还允许创建自定义格式化程序。

WCF中内置webHttpBinding目前没有此功能 - 它只允许appliation/jsontext/xml协商,其他内容类型可以通过{{映射到这两个内容类型3}}。

响应格式的“属性”仅适用于联合工作,它的工作方式略有不同。服务必须始终返回SyndicationFeedFormatter,并且已知类型允许为Atom或Rss定义多个派生格式化程序。