2012-07-20 73 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