2013-04-02 89 views
0

首先,我現在很困惑,可能無法正確解釋自己。讓我嘗試。 我有一個業務層類,其中包含從UI層aspx頁面調用的所有方法。通常如果一個方法拋出一個異常,我會在UI層上捕獲它並顯示一個特定的消息。如果沒有,有時我會捕捉業務層並僅記錄錯誤。現在我已經創建了第三個項目/圖層,它將與外部apis(如VISA)交互,我將在業務層方法中調用它的方法。在api調用之後,我返回一個包含json響應,錯誤代碼和描述等的對象,以防錯誤(例外),我需要向用戶顯示消息。我該如何做到這一點,而在業務層(最好的辦法。我可以offcourse返回錯誤字符串或空字符串,以防成功)?或者我必須從UI層調用apis?這裏是一個響應對象,它將通過API層發送。我會根據其內容顯示錯誤或繼續。如何在不同的應用程序層之間進行交互?

public class ResponseContainer 
{ 
    public bool Success { get; set; } 
    public string JSONString { get; set; } 
    public string ErrorCode { get; set; } 
    public string ErrorDescription { get; set; } 
    public bool? isVISAError { get; set; } 
} 

回答

0

因爲沒有身體能夠指導我,所以我做了。我做了2個自定義異常類。業務和sql異常。捕捉業務層上的sql異常並拋出新的業務異常。所有的業務異常都被捕獲到調用UI層的事件。在發生簽證錯誤的情況下,我通過描述引發新的業務異常並捕獲並顯示在簡單的標籤字段中。通過這一點,我不必改變我的代碼流或檢查我的任何函數的返回值。
我希望這將有助於少數人,如果任何人有更好的解決方案,請讓我知道

相關問題