Dashboard介紹
capOptions.UseDashboard(dashoptions => { dashoptions.AppPath = "applicationpath"; dashoptions.PathMatch = "/cap"; dashoptions.Authorization = new[] { new CapDashboardFilter() }; });
這里只說這幾個參數
AppPath:應用程序路徑 訪問dashboard的時候會有一個返回應用的操作,這個即是應用的地址
PathMatch:不設置的情況下都是cap,可以指定自己的dashboard路由地址
Authorization:授權處理
授權處理具體實現
只需要實現接口IDashboardAuthorizationFilter即可
public class CapDashboardFilter : IDashboardAuthorizationFilter { public bool Authorize(DashboardContext context) { return true; } }
通過DashboardContext上下文處理請求,允許返回true,不允許返回false
結合Exceptionless
先看下面的代碼
capOptions.FailedRetryCount = capConfig.FailedRetryCount; capOptions.FailedRetryInterval = capConfig.FailedRetryInterval; capOptions.FailedThresholdCallback = (msg, msgName, msgConent) => { //發布消息失敗記錄日志 if (msg == DotNetCore.CAP.Models.MessageType.Publish) { ExceptionlessClient.Default.CreateLog("PubishFailed", msgName + ":" + msgConent, Exceptionless.Logging.LogLevel.Info).AddTags("PubishFailed").Submit(); } if (msg == DotNetCore.CAP.Models.MessageType.Subscribe) { ExceptionlessClient.Default.CreateLog("SubscribeFailed", msgName + ":" + msgConent, Exceptionless.Logging.LogLevel.Info).AddTags("SubscribeFailed").Submit(); } };
FailedRetryCount:指定失敗重試的次數 默認記得是50次吧
FailedRetryInterval:重試的時間
FailedThresholdCallback:最終執行失敗回調方法,回調方法里面有3個參數 (消息類型、消息名稱、消息內容)通過發布、訂閱類型處理日志 方便執行失敗對數據造成的不一致性,在某一刻可以人為的添加上
Exceptionless的相關配置詳見我的另外一篇文章 https://www.cnblogs.com/liyouming/p/9167624.html