当我在Hammock和WP7中使用WCF Web API时,遇到了一个有趣的问题。如您所知,WCF Web API允许您根据您在Accept标头中指定的内容更改响应类型。对于例如如果你发送Accept:application/json,那么响应是JSON,如果你指定了application/xml,你得到了XML等等。WCF Web API,Hammock和WP7 Woes
所以我创建了我的Web API,它在Web浏览器中工作得非常好。正如所料,我得到了我想要的类型。但是,当我使用WP7时,无论Accept头是什么,它看起来像WP7将它替换为/,我只返回XML。
我知道一个事实,那就是不是Hammock,因为我尝试使用Facebook Graph API。如果我更改接受说:应用程序/你好,我得到一个错误的请求错误。然而,当我用WP7在C#代码中这样做时,我完全没有错误,返回类型是XML,而不管我发送的是什么。
为了规避这个问题,我在我的WCF Web API中创建了一个JSON.Net序列化程序。一切工作很好,直到我开始在我的方法中使用HttpResponseMessage作为返回类型。现在,即使我有一个JSON序列化程序,我也可以在所有使用HttpResponseMessage的方法中获得XML。
正如你所看到的,我现在在拉拉地。
任何人都可以提供任何反馈?
任何帮助,高度赞赏。