<分区>
我正在尝试构建具有单一方法的 WCF 服务 getPersonList
返回这样的人列表
[
{"personId":121, "personName":"John Smith"},
{"personId":953, "personName":"Maggie Johnson"}
]
如果出现错误,我想从相同的方法返回这样的错误响应。
{"errorCode":4002,"errorMessage":"invalid request token"}
现在我的服务契约(Contract)如下:
[ServiceContract()]
public interface IPersonContract
{
[OperationContract()]
Object GetPersonList(int requestParam);
}
和我的样本 GetPersonList
方法
Object GetPersonList(int requestParam)
{
if (requestParam == 1)
{
ErrorResponse error = new ErrorResponse();
error.ErrorCode = 4002;
error.ErrorMessage = "invalid request token";
return error;
}else
{
List<Person> returnList = new List<Person>();
// add Person to returnList
return returnList;
}
}
人类
[DataContract()]
public class Person
{
[DataMember(Name = "personName")]
String PersonName{ get; set; }
[DataMember(Name = "personId")]
String PersonID { get; set; }
}
错误类
[DataContract()]
public class ErrorResponse
{
[DataMember(Name = "errorCode")]
int ErrorCode{ get; set; }
[DataMember(Name = "errorMessage")]
String ErrorMessage{ get; set; }
}
我查了一下KnownTypes
对于 DataContract 类,但如何在 Object
上应用它.
如果我从 ErrorReponse
添加字段并添加 List<Person>
在一个类中并返回该对象,我在成功案例中得到这样的响应,这不是我想要的。
{
"Person":[{"personId":121, "personName":"John Smith"},
{"personId":953, "personName":"Maggie Johnson"}]
}