第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您如何從 MassTransit 快遞路線單活動中獲得異常?

您如何從 MassTransit 快遞路線單活動中獲得異常?

C#
天涯盡頭無女友 2021-11-07 19:53:22
我有一個 MassTransit 路線單,其中包含一些完美運行的活動(我喜歡 MT),但我現(xiàn)在想為失敗的事件添加其他信息(即錯誤名稱和描述)。目前我在活動中捕獲我的自定義異常并發(fā)回錯誤響應,該響應按計劃啟動所有補償活動,但我似乎無法在訂閱者中獲取異常詳細信息(添加到我的事件中)然后發(fā)送回傳奇)。我的活動如下所示:public async Task<ExecutionResult> Execute(ExecuteContext<ICreateLink> context)        {            var messageCommand = context.Arguments;            var command = new CreateLink(                messageCommand.LinkId,                messageCommand.GroupId);            try            {                await _commandDispatcher.ExecuteAsync(command).ConfigureAwait(false);                return context.Completed();            }            catch (Exception ex)            {                return context.Faulted(ex);            }        }然后在構建路由單時我有:builder.AddSubscription(                context.SourceAddress,                RoutingSlipEvents.ActivityFaulted,                RoutingSlipEventContents.All,                nameof(CreateLinkActivity),                x => x.Send<ICreateLinkFailed>(new CreateLinkFailed                {                    LinkId = context.Message.LinkId,                    LinkName = context.Message.Name                }));我以為我可以從上下文訪問異常信息,但可惜我似乎無法找到它,這對我來說是最后一塊拼圖。我開始認為我沒有考慮這個權利。最終,我想將錯誤類型傳遞回路由單,然后傳遞給它的調用 saga。
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

通過訂閱,您的事件類型可以包含與發(fā)布的內置事件具有相同類型/名稱的屬性。這些屬性將由 MT 自動添加到事件中(無需在 Send 調用中映射它們)。

https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit/Courier/Contracts/RoutingSlipActivityFaulted.cs#L19

因此,在您的情況下,可以將 ExceptionInfo 屬性復制到您的事件界面中 - 并且在使用事件時將顯示該數據。

在幕后,MassTransit 將內置事件的 JSON 和您自己的事件分配合并到一個組合的 JSON 文檔中。


查看完整回答
反對 回復 2021-11-07
  • 1 回答
  • 0 關注
  • 230 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號