可能重复:
WCF REST: remove prefix “ArrayOf” for wcf method response
我在c#中定义了一个简单的WCF服务,如下所示:
[ServiceContract]
public interface IAugeService
{
[OperationContract]
[WebGet]
List<Face> DetectedFaces();
}
我可以使用WebHttpBinding创建一个端点,并且大多数工作正常。但是生成的xml响应中的根元素的名称是从返回类型派生的,所以我得到这样的结果:
<ArrayOfFace>
<Face>
...
</Face
...
</ArrayOfFace
我需要为根节点指定一个不同的名称。
我尝试将方法声明更改为:
...
[OperationContract]
[WebGet]
[return: MessageParameter(Name="result")]
List<Face> DetectedFaces();
...
......但它没有帮助:(
答案 0 :(得分:0)
将“名称”属性添加到DataMember。不过,它会添加一个额外的标签。
[DataContract(Name = "FaceList")
public class FaceList
{
...
[DataMember(Name = "Result")]
List<Face> Faces { get; set; }
...
}