C# 异常从两个不同的列表返回到Json-WCF REST服务

C# 异常从两个不同的列表返回到Json-WCF REST服务,c#,json,wcf,rest,exception,C#,Json,Wcf,Rest,Exception,我有一个返回Json的WCF REST服务。我有一个客户端应用程序用Json传递详细信息,在API中反序列化,在SQL上运行一个带有传入ID的查询,然后返回每个对应ID的值。这个很好用。我现在需要设计自定义异常处理。唯一的区别是,我现在必须返回一个List对象,如果成功地获取这个List并在底部附加一个结果数组,其目的是向客户端指示是否发生异常 我从WebHttpException开始,这显然是不需要的,所以我现在正在重新考虑我的选择 我基本上在考虑一种截取方法,它获取返回数据的列表,获取另一个

我有一个返回Json的WCF REST服务。我有一个客户端应用程序用Json传递详细信息,在API中反序列化,在SQL上运行一个带有传入ID的查询,然后返回每个对应ID的值。这个很好用。我现在需要设计自定义异常处理。唯一的区别是,我现在必须返回一个List对象,如果成功地获取这个List并在底部附加一个结果数组,其目的是向客户端指示是否发生异常

我从WebHttpException开始,这显然是不需要的,所以我现在正在重新考虑我的选择

我基本上在考虑一种截取方法,它获取返回数据的列表,获取另一个带有CustomErrorDetail的列表或对象,该列表或对象将包含我们指定的ErrorID、ErrorDetail以及硬编码的yep和ErrorDate DateTime.Now。然后,我可以让这个拦截器方法从数据列表中获取所有字符串,只需在底部附加一个CustomErrorDetail,然后将其添加到JSon,反过来,它将以另一个JSon字符串返回给客户端

这似乎有点极端。难道没有一种更优雅、更好的表演方式可以做到这一点吗

基本上,我计划在将其返回到另一个JSon字符串中包装的客户端应用程序之前获取类似的内容:

[
  [
  {
    "ID": "G0000013",
    "Balance": ""
  },
  {
    "ID": "G0000015",
    "Balance": ""
  },
  {
    "ID": "G0000017",
    "Balance": ""
  },
  {
    "ID": "G0000019",
    "Balance": ""
  }
  ],
  [
  {
    "ErrorID": "2",
    "ErrorDetail": "Failed!!!"
  }  
  ]
]

请原谅这个令人痛苦的细节。非常感谢您的帮助和建议。

为什么不让您的对象有一个状态和消息属性,其中消息可以是余额等{ID:0123456,状态:Success/Error/Terminated,message:whated}也想到了@Lloyd,但是,要求为多个项目提供一条异常消息。类似于在某些服务中以XML返回的内容。如果每个项目都有自己的状态和消息,那么你可以返回你想要的任何信息。无需浪费解析SOAP或其他Web服务Exception@Lloyd,不,我们绝对不要肥皂。我们也不希望出现web异常。基本上,我们只需要返回到上面的Json部分,其中第二部分包含ErrorID等。因此,我们基本上只需要SQL查询返回的标准响应,然后插入到列表中,在返回之前在底部添加一小段JSon。所以,获取列表内容,JSon在底部注入结果部分并返回。不是我的决定。我们需要自定义异常返回到客户端。Json不注入任何内容,您返回Json或XML序列化的类型化数据,因此您可以创建两个模型集合,一个用于返回的数据,一个用于异常消息!