How to return a List<object> in WCF

后端 未结 3 1202
暖寄归人
暖寄归人 2020-12-20 10:00

I have my WCF service returning data both in XML and JSON format.

One functios has to return a List, because I don\'t know which class will be used to fill this list

3条回答
  •  星月不相逢
    2020-12-20 10:49

    In my case the solution is more simple.

    I have a class that I return in all my mehotds, like this:

    [DataContract]
    public class Result
        {
    
            [DataMember]
            public string KeyMensaje;
            [DataMember]
            public string ErrorMessage;        
            [DataMember]        
            public object Objeto;
    
            ...
       }
    

    The problem is due to Objeto object inside this class. This object is used to return variables types and it can't be serialized if is a complex object, for example:

    res = new Result(list, "ok", "", "", "", null);  
    return res;
    

    In this case object (list) is a list of other custom object, for example List

    The solution is add on top Result class the complex types that object can be, like this:

    [DataContract]
    [KnownType(typeof(List))]
    [KnownType(typeof(CustomEmployee))]
    public class Result
    {
       ...
    }
    

提交回复
热议问题