2012-07-20 52 views
0

我有WCF的網絡方法M,返回類A。 Web方法配置爲使用JSON序列化程序。WCF返回類專業化

現在回答這個問題:我有B這個類,它是A的直接專業化。我想返回B,但如果我這樣做,請求將失敗。

如果這項工作甚至有可能,我需要做些什麼?

這基本上是我在寫下代碼問題:

[WebMethod] 
A M(); 

public A M() { 
    return new B(); // <-- no response on the client 
} 

[DataContract] 
class A { 
    [DataMember] 
    bool Foo; 
} 

[DataContract] 
class B : A { 

} 

回答

3

的第一件事,試圖將是:

[DataContract, KnownType(typeof(B))] 
class A { 
    [DataMember] 
    bool Foo; 
} 
+0

也就是說輝煌!這種簡單而優雅的解決方案謝謝 – Leonard 2012-07-20 12:28:25