2011-07-04 88 views
0

如何序列化對象以返回自定義類型?如何使用wcf REST服務獲取自定義對象的json響應?

//The response is null. 
http://localhost:50604/GameService/Getbyid?id=1 

[WebGet(ResponseFormat = WebMessageFormat.Json)] 
public MyClass GetById(int id) 


[DataContract] 
[KnownType(typeof(User))] 
public partial class MyClass 
{ 
    [DataMember] 
    public int Id { get; set; } 
    [DataMember] 
    public string Name { get; set; } 
    [DataMember] 
    public int? CreatedBy { get; set; } 
    [DataMember] 
    public virtual User CreatedByUser { get; set; } //How will I serialize this? 
} 

回答

0

你缺少UriTemplate爲您的操作,以便您的身份證可能是從來沒有在過去,你的方法適用於默認值= 0

試試這個:

[WebGet(UriTemplate="Getbyid?id={id}", ResponseFormat = WebMessageFormat.Json)] 
public MyClass GetById(int id) 

CreatedByUser將被序列化自動如果填充並且用戶也是數據合同。

+0

我已經添加了一個uritemplate,但它仍然沒有對返回對象進行重新序列化。 – h3n

+0

你是什麼意思「沒有實現回報對象」? –

+0

我的意思是「序列化」抱歉。它工作正常,當我刪除這行代碼>> public virtual User CreatedByUser {get;組; } – h3n

相關問題