簡體   English   中英

使用批處理操作處理WCF異常

[英]WCF Exception handling with batch operations

我需要一個關於這個架構問題的提示。

我的應用程序調用不同的wcf服務,這些服務執行返回模型對象列表的特定任務。

說,我有一個服務,輪詢股票交易所標題返回List<SeTitle> [純粹是虛構的例子,我正在讀一本關於這個主題的書]

如果此列表中的一個或幾個元素發生異常,則wcf服務中有兩個選項:

  • 捕獲異常,將其記錄下來並返回List <>,但是這樣一來,我將失去應用程序中所有錯誤項的證據。
  • 在第一個錯誤上引發異常,但是通過這種方式,即使只有一個項目“出現故障”,我也不會收到任何信息。

我的意願是選擇第三個選項,這意味着我將始終返回我的列表,但要提供有缺陷的項目的證據。

我的想法是讓我所有的模型對象擴展一個簡單的接口,例如(對不起的名字,它們很可怕)

public interface IWcfReturnObject
{
    public List<WarningModel> Warnings;
}

public class SeTitle : IWcfReturnObject

以這種方式,列表的每個元素可以具有關聯的警告/錯誤列表,以將其返回給應用程序,然后返回給界面。

我的問題是:

  • 我的問題清楚易懂嗎? ;)
  • 您認為我的願望(從帶有警告的wcf中接收所有元素)在體系結構上是否良好?
  • 你認為它存在解決這個問題的更好方法嗎?

謝謝

M.

編輯:我正在做研究,並看着第一個答案,我認為給出我在NET上找到的一個解決方案很有用

可能的解決方案

  1. 我的方式
  2. 記錄某種相關性,並在業務層上將其引用為decyclone建議
  3. AggregateException

我認為您應該記錄您的異常/錯誤/警告,而不是將它們與結果數據一起發送。 您始終可以參考日志,也可以創建一個界面來查看錯誤日志。 但是,常見結果數據不應與異常數據混合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM