我有一個支持AJAX的WCF服務(帶有enableWebScript的行爲),它具有我創建的ValidationFault。如何從AJAX啓用的WCF服務中返回JSON中的故障?
這裏的服務:
[ServiceContract]
public interface ICoreWCF
{
/// <summary>
/// Saves the Customer.
/// </summary>
[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[FaultContract(typeof(ValidationFault))]
void Customer_Save(Customer customer);
}
這裏的故障:
[DataContract]
public class ValidationFault
{
[DataMember(Name = "success")]
public bool Success { get; set; }
[DataMember(Name = "msg")]
public string ValidationMessage { get; set; }
[DataMember(Name = "errors")]
public Dictionary<string, string> Errors { get; set; }
}
我想這個故障發送回客戶端的JavaScript。 問題是,我的自定義錯誤的DataMembers被忽略,並返回一般異常。
如何將錯誤集合發送給客戶端?
我已經嘗試過寫我自己IErrorHandler類似this,使得它使用異常處理應用程序塊到一個異常轉換成一個錯誤,然後將IErrorHandler序列化所產生的故障。但是看起來WebScriptingEnablingBehavior的JsonErrorHandler不能很好地處理生成的Message對象。
謝謝。
在webinvoke
看看[這裏] [1]已經被回答了。 [1]:http://stackoverflow.com/questions/1272877/returning-error-details-from-ajax-enabled-wcf-service –
謝謝@Bryan。我看到了這個問題,但不幸的是,我遇到了與此答案所述相同的問題:http://stackoverflow.com/questions/1272877/returning-error-details-from-ajax-enabled-wcf-service/3705135#3705135 –