Damian's used the same WCF extensibility points I used to produce some boilerplate that varies the response content type from JSON to XML, based on the Accept or Content-Type header of the GET request. He extends WebHttpBehavior to return an IDispatchMessageFormatter that does either JSON or XML.
And then in the DynamicFormatter code, he just picks the formatter as appropriate:
It's pretty nifty and it requires no changes to the app logic. You need to use a custom ServiceHost and use a custom attribute on each Operation. Because it uses the HTTP headers and not the URI itself to determine content-type of the response, I think it has some nice benefits over the approach I described in April.
Damian's got a full VS2008 solution will all the boilerplate code.
check it out.
本文介绍了一种使用WCF扩展点实现响应内容类型(JSON到XML)动态切换的方法,该方法基于GET请求的Accept Content-Type头部信息进行判断。通过自定义WebHttpBehavior和DynamicFormatter,可以在运行时根据客户端的需求选择合适的响应格式。
1817

被折叠的 条评论
为什么被折叠?



