Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF返回类专门化_C#_.net_Wcf - Fatal编程技术网

C# WCF返回类专门化

C# WCF返回类专门化,c#,.net,wcf,C#,.net,Wcf,我得到了返回类A的wcfweb方法M。web方法配置为使用JSON序列化程序 现在来问这个问题:我有一个类B,它是A的直接特化。我想返回B,但如果返回,请求将失败 如果可能的话,我需要做什么才能让这一切顺利进行 这本质上是我在乱写代码中的问题: [WebMethod] A M(); public A M() { return new B(); // <-- no response on the client } [DataContract] class A { [Da

我得到了返回类
A
的wcfweb方法
M
。web方法配置为使用JSON序列化程序

现在来问这个问题:我有一个类
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 {

}
[WebMethod]
A M();
公共A M(){

返回新的B();//要尝试的第一件事是:

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

首先要尝试的是:

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

太棒了!如此简单而优雅的解决方案!谢谢!太棒了!如此简单而优雅的解决方案!谢谢