2011-02-07 75 views
1

是否有可能有這樣的方法簽名在WCF 3.5服務(優惠與DataContractAttribute和DataMemberAttribute自定義類):如何在WCF RESTful服務中以json格式返回IList?

[OperationContract] 
[WebGet(UriTemplate = "GetOffers", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] 
IList<Offer> GetOffers(); 

因爲如果我在Web瀏覽器中輸入相應的URL,我得到一個序列化錯誤(我認爲這是因爲IList沒有Seri​​alizable屬性,所以json序列化程序無法序列化它)。

的解決方法是使用這樣一個方法簽名:

[OperationContract] 
[WebGet(UriTemplate = "GetOffers", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] 
List<Offer> GetOffers(); 

在相同的串行化輸出(一個簡單的JSON數組)所得的,但作爲第一種使用XML的,我想知道是否有一種方法可以使它在json中工作,保持相同的簽名。

編輯:好它不與XML序列化工作,要麼,所以行爲似乎是正常的。問題仍然存在,是否有可能保留這個簽名並改變序列化器的行爲來使其工作?怎麼樣?

回答