當我在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。
正如你所看到的,我現在在拉拉地。
任何人都可以提供任何反饋?
任何幫助,高度讚賞。