2012-06-25 64 views
0

我正在使用c#/ winRT的odata v2 api。它工作正常,但它使用xml作爲讀取和寫入請求的編碼格式。我怎樣才能讓它使用json呢?如何使用json與c#使用odata?

我已經嘗試將事件處理程序附加到myDataSource.SendingRequest中,並添加一個「Accept」標頭,但客戶端庫顯式攔截此並引發異常。此外,我無法在客戶端找到任何「接受」屬性。

感謝,

阿德里安

+1

請將代碼放在設置「accept」標頭的地方。 –

+0

您是否使用特定的客戶端庫?你有沒有經過Phani的博客文章(http://blogs.msdn.com/b/phaniraj/archive/2012/04/26/developing-windows-8-metro-style-applications-that-c​​onsume-odata.aspx) ? –

回答

1

假設你正在使用WCF數據服務客戶端庫(按照Phani的blog post),那麼目前這是不可能的。客戶端庫不支持JSON(還)。

如果您確實需要使用JSON,您需要直接使用ODataLib,它不像WCF數據服務客戶端那樣「易於使用」,但它也爲您提供了更大的靈活性。 ODataLib是OData線路格式的讀寫器。有關示例,請參見blog post。 Metro本身的ODataLib - Microsoft.Data.OData.Metro應該已經是VS 2012 RC版本的一部分。

0

您需要添加一個接受頭請求:
'接受:應用/ JSON的'

+0

我知道那麼多,但我的問題是「我怎樣才能用C#/ WinRT客戶端庫來做到這一點?」 –