是否可以将DataServiceException传递给消费者的错误列表?
在模型上各种验证失败时,我还希望获得标准消息,Stacktrace信息,而不是仅仅接收标准消息。
我尝试将DataServiceException的内部异常设置为FaultException。
[DataContract]
public class MyTypeWithExtraInfo
{
[DataMember]
public List<MyErrorInfo> MyErrors { get; set; }
}
[DataContract]
public class MyErrorInfo
{
[DataMember]
string PropertyId { get; set; }
[DataMember]
public string Error { get; set; }
}
Clientside我确实得到了DataServiceException,但是操作的消息只有FaultException Reason和Type(ToString'ed),它没有我在MyTypeWithExtraInfo中指定的DataMembers。
答案 0 :(得分:1)
对于单个异常,您可以捕获实际异常并重新抛出:
throw new System.ServiceMode.FaultException("Custom Error Message");
但是,如果您需要处理多个例外,请考虑使用Task Parallel Library Extensions for .NET。这将允许您收集所有抛出的异常并将它们放入单个AggregateException
对象中。该库将成为.NET 4.0框架的一部分。