2009-12-12 23 views
1

我有Presentaion層,業務層,數據訪問層的Web應用程序。我通過與我的數據訪問層相連的Web服務獲取數據。意味着它是我正在使用的遠程處理類型之一。在我的DAL和業務層中,我必須處理哪種例外情況? 請指導我。請指導有關異常

回答

0

層架構是按照您的應用程序的自然流動出了名的差,所以,好了,你有一些選擇在那裏。我喜歡將這類代碼放入業務層,儘管我無法爲其挽救生命提供令人信服的理由。

0

我想你不應該處理的數據訪問層或業務層的任何錯誤。你只需把它扔到下一層,所以最後你在表現層有一個錯誤/異常。所有的錯誤/異常應在表示層來處理,其背後的原因是...

  • 您可能會在未來改變表現層,這將是很容易和舒適來處理它,如果你知道真正的錯誤/異常
  • 你可以有一個類處理在表示層各類型的錯誤,並拋出自定義消息給用戶

不過,這是我的意見,也沒有堅硬的那麼快規則。我也同意「Niko」在業務層面處理這些事情。

下面的文章可以給更多的光線對建築(仍是不上的錯誤處理)。 - http://www.codeproject.com/KB/cs/CLR_SP_Linq_n-tier.aspx

1

我觀看web服務作爲表示層的另一種形式。儘可能使用與Web UI相同的業務層組件。

即使在相當基本的REST風格的服務中,我也總是試圖在請求的數據中包含一個基本的Response包裝 - 這可以確保在發生故障時,我仍然可以返回帶有Error標誌的響應,某種形式的描述性信息。

我總是儘量保證我不會從較低層(例如DAL)傳遞的異常數據,因爲這可能是一個安全問題。但是,通常應該記錄異常數據。