ntminer 6 ani în urmă
părinte
comite
ba0d325f00
43 a modificat fișierele cu 121 adăugiri și 122 ștergeri
  1. 4 8
      src/AppModels/AppContext.cs
  2. 2 2
      src/AppModels/AppContext.partials.CoinGroupViewModels.cs
  3. 3 3
      src/AppModels/AppContext.partials.CoinKernelViewModels.cs
  4. 2 2
      src/AppModels/AppContext.partials.CoinProfileViewModels.cs
  5. 4 4
      src/AppModels/AppContext.partials.CoinViewModels.cs
  6. 3 3
      src/AppModels/AppContext.partials.ColumnsShowViewModels.cs
  7. 3 3
      src/AppModels/AppContext.partials.FileWriterViewModels.cs
  8. 3 3
      src/AppModels/AppContext.partials.FragmentWriterViewModels.cs
  9. 1 1
      src/AppModels/AppContext.partials.GpuProfileViewModels.cs
  10. 7 7
      src/AppModels/AppContext.partials.GpuSpeedViewModels.cs
  11. 4 4
      src/AppModels/AppContext.partials.GpuViewModels.cs
  12. 3 3
      src/AppModels/AppContext.partials.GroupViewModels.cs
  13. 3 3
      src/AppModels/AppContext.partials.KernelInputViewModels.cs
  14. 3 3
      src/AppModels/AppContext.partials.KernelOutputFilterViewModels.cs
  15. 3 3
      src/AppModels/AppContext.partials.KernelOutputTranslaterViewModels.cs
  16. 3 3
      src/AppModels/AppContext.partials.KernelOutputViewModels.cs
  17. 3 3
      src/AppModels/AppContext.partials.KernelViewModels.cs
  18. 3 3
      src/AppModels/AppContext.partials.MineWorkViewModels.cs
  19. 3 3
      src/AppModels/AppContext.partials.MinerGroupViewModels.cs
  20. 4 4
      src/AppModels/AppContext.partials.NTMinerWalletViewModels.cs
  21. 4 4
      src/AppModels/AppContext.partials.OverClockDataViewModels.cs
  22. 3 3
      src/AppModels/AppContext.partials.PackageViewModels.cs
  23. 3 3
      src/AppModels/AppContext.partials.PoolKernelViewModels.cs
  24. 1 1
      src/AppModels/AppContext.partials.PoolProfileViewModels.cs
  25. 3 3
      src/AppModels/AppContext.partials.PoolViewModels.cs
  26. 1 1
      src/AppModels/AppContext.partials.ShareViewModels.cs
  27. 3 3
      src/AppModels/AppContext.partials.SysDicItemViewModels.cs
  28. 3 3
      src/AppModels/AppContext.partials.SysDicViewModels.cs
  29. 3 3
      src/AppModels/AppContext.partials.UserViewModels.cs
  30. 3 3
      src/AppModels/AppContext.partials.WalletViewModels.cs
  31. 2 2
      src/AppModels/Vms/MinerProfileViewModel.cs
  32. 1 1
      src/AppViews0/ChartsWindow.xaml.cs
  33. 6 6
      src/AppViews0/MainWindow.xaml.cs
  34. 2 2
      src/AppViews0/MinerClientsWindow.xaml.cs
  35. 2 2
      src/AppViews0/Ucs/Calc.xaml.cs
  36. 1 1
      src/AppViews0/Ucs/CalcConfig.xaml.cs
  37. 1 1
      src/AppViews0/Ucs/LocalIpConfig.xaml.cs
  38. 1 1
      src/AppViews0/Ucs/MinerClientUc.xaml.cs
  39. 1 1
      src/AppViews0/Ucs/MinerProfileDual.xaml.cs
  40. 1 1
      src/AppViews0/Ucs/MinerProfileIndex.xaml.cs
  41. 1 1
      src/AppViews0/Ucs/SpeedCharts.xaml.cs
  42. 6 6
      src/AppViews0/Ucs/StateBar.xaml.cs
  43. 5 2
      src/NTMinerWpf/WindowExtension.cs

+ 4 - 8
src/AppModels/AppContext.cs

@@ -16,19 +16,15 @@ namespace NTMiner {
         }
 
         #region static methods
-        /// <summary>
-        /// 命令窗口。使用该方法的代码行应将前两个参数放在第一行以方便vs查找引用时展示出参数信息
-        /// </summary>
-        public static void CmdPath<TCmd>(string description, LogEnum logType, Action<TCmd> action)
+        // 因为是上下文路径,无需返回路径标识
+        public static void AppContextCmdPath<TCmd>(string description, LogEnum logType, Action<TCmd> action)
             where TCmd : ICmd {
             var messagePathId = VirtualRoot.BuildPath(description, logType, action);
             _contextHandlers.Add(messagePathId);
         }
 
-        /// <summary>
-        /// 事件响应
-        /// </summary>
-        public static void EventPath<TEvent>(string description, LogEnum logType, Action<TEvent> action)
+        // 因为是上下文路径,无需返回路径标识
+        public static void AppContextEventPath<TEvent>(string description, LogEnum logType, Action<TEvent> action)
             where TEvent : IEvent {
             var messagePathId = VirtualRoot.BuildPath(description, logType, action);
             _contextHandlers.Add(messagePathId);

+ 2 - 2
src/AppModels/AppContext.partials.CoinGroupViewModels.cs

@@ -21,7 +21,7 @@ namespace NTMiner {
                         _listByGroupId.Clear();
                         Init();
                     });
-                EventPath<CoinGroupAddedEvent>("添加了币组后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinGroupAddedEvent>("添加了币组后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             CoinGroupViewModel coinGroupVm = new CoinGroupViewModel(message.Source);
@@ -33,7 +33,7 @@ namespace NTMiner {
                             OnGroupPropertyChanged(coinGroupVm.GroupId);
                         }
                     });
-                EventPath<CoinGroupRemovedEvent>("删除了币组后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinGroupRemovedEvent>("删除了币组后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             var entity = _dicById[message.Source.GetId()];

+ 3 - 3
src/AppModels/AppContext.partials.CoinKernelViewModels.cs

@@ -23,7 +23,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChanged(nameof(AllCoinKernels));
                     });
-                EventPath<CoinKernelAddedEvent>("添加了币种内核后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinKernelAddedEvent>("添加了币种内核后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         var coinKernelVm = new CoinKernelViewModel(message.Source);
                         _dicById.Add(message.Source.GetId(), coinKernelVm);
@@ -42,7 +42,7 @@ namespace NTMiner {
                             kernelVm.OnPropertyChanged(nameof(kernelVm.SupportedCoins));
                         }
                     });
-                EventPath<CoinKernelUpdatedEvent>("更新了币种内核后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinKernelUpdatedEvent>("更新了币种内核后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         CoinKernelViewModel entity = _dicById[message.Source.GetId()];
                         var supportedGpu = entity.SupportedGpu;
@@ -61,7 +61,7 @@ namespace NTMiner {
                             kernelVm.OnPropertyChanged(nameof(kernelVm.CoinKernels));
                         }
                     });
-                EventPath<CoinKernelRemovedEvent>("移除了币种内核后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinKernelRemovedEvent>("移除了币种内核后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         CoinKernelViewModel coinKernelVm;
                         if (_dicById.TryGetValue(message.Source.GetId(), out coinKernelVm)) {

+ 2 - 2
src/AppModels/AppContext.partials.CoinProfileViewModels.cs

@@ -15,13 +15,13 @@ namespace NTMiner {
 #if DEBUG
                 Write.Stopwatch.Restart();
 #endif
-                EventPath<CoinKernelProfilePropertyChangedEvent>("币种内核设置变更后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinKernelProfilePropertyChangedEvent>("币种内核设置变更后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_coinKernelProfileDicById.ContainsKey(message.CoinKernelId)) {
                             _coinKernelProfileDicById[message.CoinKernelId].OnPropertyChanged(message.PropertyName);
                         }
                     });
-                EventPath<CoinProfilePropertyChangedEvent>("币种设置变更后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinProfilePropertyChangedEvent>("币种设置变更后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_coinProfileDicById.ContainsKey(message.CoinId)) {
                             _coinProfileDicById[message.CoinId].OnPropertyChanged(message.PropertyName);

+ 4 - 4
src/AppModels/AppContext.partials.CoinViewModels.cs

@@ -28,19 +28,19 @@ namespace NTMiner {
                     action: message => {
                         AllPropertyChanged();
                     });
-                EventPath<CoinAddedEvent>("添加了币种后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinAddedEvent>("添加了币种后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Add(message.Source.GetId(), new CoinViewModel(message.Source));
                         AppContext.Instance.MinerProfileVm.OnPropertyChanged(nameof(NTMiner.AppContext.Instance.MinerProfileVm.CoinVm));
                         AllPropertyChanged();
                     });
-                EventPath<CoinRemovedEvent>("移除了币种后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinRemovedEvent>("移除了币种后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         AppContext.Instance.MinerProfileVm.OnPropertyChanged(nameof(NTMiner.AppContext.Instance.MinerProfileVm.CoinVm));
                         AllPropertyChanged();
                     });
-                EventPath<CoinUpdatedEvent>("更新了币种后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<CoinUpdatedEvent>("更新了币种后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CoinViewModel coinVm = _dicById[message.Source.GetId()];
                         bool justAsDualCoin = coinVm.JustAsDualCoin;
@@ -61,7 +61,7 @@ namespace NTMiner {
                             OnPropertyChanged(nameof(MainCoins));
                         }
                     });
-                EventPath<CoinIconDownloadedEvent>("下载了币种图标后", LogEnum.DevConsole,
+                AppContextEventPath<CoinIconDownloadedEvent>("下载了币种图标后", LogEnum.DevConsole,
                     action: message => {
                         try {
                             if (string.IsNullOrEmpty(message.Source.Icon)) {

+ 3 - 3
src/AppModels/AppContext.partials.ColumnsShowViewModels.cs

@@ -21,7 +21,7 @@ namespace NTMiner {
                 this.Add = new DelegateCommand(() => {
                     new ColumnsShowViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add);
                 });
-                EventPath<ColumnsShowAddedEvent>("添加了列显后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<ColumnsShowAddedEvent>("添加了列显后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             ColumnsShowViewModel vm = new ColumnsShowViewModel(message.Source);
@@ -30,14 +30,14 @@ namespace NTMiner {
                             AppContext.Instance.MinerClientsWindowVm.ColumnsShow = vm;
                         }
                     });
-                EventPath<ColumnsShowUpdatedEvent>("更新了列显后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<ColumnsShowUpdatedEvent>("更新了列显后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             ColumnsShowViewModel entity = _dicById[message.Source.GetId()];
                             entity.Update(message.Source);
                         }
                     });
-                EventPath<ColumnsShowRemovedEvent>("移除了列显后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<ColumnsShowRemovedEvent>("移除了列显后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         AppContext.Instance.MinerClientsWindowVm.ColumnsShow = _dicById.Values.FirstOrDefault();
                         _dicById.Remove(message.Source.GetId());

+ 3 - 3
src/AppModels/AppContext.partials.FileWriterViewModels.cs

@@ -27,7 +27,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChangeds();
                     });
-                EventPath<FileWriterAddedEvent>("添加了文件书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FileWriterAddedEvent>("添加了文件书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             FileWriterViewModel groupVm = new FileWriterViewModel(message.Source);
@@ -35,14 +35,14 @@ namespace NTMiner {
                             OnPropertyChangeds();
                         }
                     });
-                EventPath<FileWriterUpdatedEvent>("更新了文件书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FileWriterUpdatedEvent>("更新了文件书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             FileWriterViewModel entity = _dicById[message.Source.GetId()];
                             entity.Update(message.Source);
                         }
                     });
-                EventPath<FileWriterRemovedEvent>("删除了文件书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FileWriterRemovedEvent>("删除了文件书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChangeds();

+ 3 - 3
src/AppModels/AppContext.partials.FragmentWriterViewModels.cs

@@ -27,7 +27,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChangeds();
                     });
-                EventPath<FragmentWriterAddedEvent>("添加了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FragmentWriterAddedEvent>("添加了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             FragmentWriterViewModel groupVm = new FragmentWriterViewModel(message.Source);
@@ -35,14 +35,14 @@ namespace NTMiner {
                             OnPropertyChangeds();
                         }
                     });
-                EventPath<FragmentWriterUpdatedEvent>("更新了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FragmentWriterUpdatedEvent>("更新了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             FragmentWriterViewModel entity = _dicById[message.Source.GetId()];
                             entity.Update(message.Source);
                         }
                     });
-                EventPath<FragmentWriterRemovedEvent>("删除了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FragmentWriterRemovedEvent>("删除了命令行片段书写器后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChangeds();

+ 1 - 1
src/AppModels/AppContext.partials.GpuProfileViewModels.cs

@@ -29,7 +29,7 @@ namespace NTMiner {
                             VirtualRoot.Execute(new CoinOverClockCommand(coinVm.Id));
                         }
                     });
-                EventPath<GpuProfileAddedOrUpdatedEvent>("添加或更新了Gpu超频数据后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GpuProfileAddedOrUpdatedEvent>("添加或更新了Gpu超频数据后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         lock (_locker) {
                             List<GpuProfileViewModel> list;

+ 7 - 7
src/AppModels/AppContext.partials.GpuSpeedViewModels.cs

@@ -52,7 +52,7 @@ namespace NTMiner {
                     this._list.Add(new GpuSpeedViewModel(item));
                 }
                 _totalSpeedVm = this._list.FirstOrDefault(a => a.GpuVm.Index == NTMinerRoot.GpuAllId);
-                EventPath<GpuShareChangedEvent>("显卡份额变更后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GpuShareChangedEvent>("显卡份额变更后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -63,7 +63,7 @@ namespace NTMiner {
                             gpuSpeedVm.MainCoinSpeed.RejectShare = message.Source.MainCoinSpeed.RejectShare;
                         }
                     });
-                EventPath<FoundShareIncreasedEvent>("找到一个份额后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<FoundShareIncreasedEvent>("找到一个份额后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -72,7 +72,7 @@ namespace NTMiner {
                             gpuSpeedVm.MainCoinSpeed.FoundShare = message.Source.MainCoinSpeed.FoundShare;
                         }
                     });
-                EventPath<AcceptShareIncreasedEvent>("接受一个份额后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<AcceptShareIncreasedEvent>("接受一个份额后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -81,7 +81,7 @@ namespace NTMiner {
                             gpuSpeedVm.MainCoinSpeed.AcceptShare = message.Source.MainCoinSpeed.AcceptShare;
                         }
                     });
-                EventPath<RejectShareIncreasedEvent>("拒绝一个份额后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<RejectShareIncreasedEvent>("拒绝一个份额后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -90,7 +90,7 @@ namespace NTMiner {
                             gpuSpeedVm.MainCoinSpeed.RejectShare = message.Source.MainCoinSpeed.RejectShare;
                         }
                     });
-                EventPath<IncorrectShareIncreasedEvent>("产生一个错误份额后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<IncorrectShareIncreasedEvent>("产生一个错误份额后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -99,7 +99,7 @@ namespace NTMiner {
                             gpuSpeedVm.MainCoinSpeed.IncorrectShare = message.Source.MainCoinSpeed.IncorrectShare;
                         }
                     });
-                EventPath<GpuSpeedChangedEvent>("显卡算力变更后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GpuSpeedChangedEvent>("显卡算力变更后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         CheckReset();
                         int index = message.Source.Gpu.Index;
@@ -142,7 +142,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<Per1SecondEvent>("每秒钟更新算力活动时间", LogEnum.None,
+                AppContextEventPath<Per1SecondEvent>("每秒钟更新算力活动时间", LogEnum.None,
                     action: message => {
                         TotalSpeedVm.MainCoinSpeed.OnPropertyChanged(nameof(SpeedViewModel.LastSpeedOnText));
                         TotalSpeedVm.DualCoinSpeed.OnPropertyChanged(nameof(SpeedViewModel.LastSpeedOnText));

+ 4 - 4
src/AppModels/AppContext.partials.GpuViewModels.cs

@@ -32,27 +32,27 @@ namespace NTMiner {
                 else {
                     _gpuAllVm = new GpuViewModel(Gpu.GpuAll);
                 }
-                EventPath<EPriceChangedEvent>("电价变更后更新电费显示", LogEnum.DevConsole,
+                AppContextEventPath<EPriceChangedEvent>("电价变更后更新电费显示", LogEnum.DevConsole,
                     action: message => {
                         foreach (var gpuVm in _gpuVms.Values) {
                             gpuVm.OnPropertyChanged(nameof(GpuViewModel.EChargeText));
                         }
                         AppContext.Instance.GpuSpeedVms.OnPropertyChanged(nameof(GpuSpeedViewModels.ProfitCnyPerDayText));
                     });
-                EventPath<MaxTempChangedEvent>("高温红色阈值变更后更新显卡温度颜色", LogEnum.DevConsole,
+                AppContextEventPath<MaxTempChangedEvent>("高温红色阈值变更后更新显卡温度颜色", LogEnum.DevConsole,
                     action: message => {
                         foreach (var gpuVm in _gpuVms.Values) {
                             gpuVm.OnPropertyChanged(nameof(GpuViewModel.TemperatureForeground));
                         }
                     });
-                EventPath<PowerAppendChangedEvent>("功耗补偿变更后更新功耗显示", LogEnum.DevConsole,
+                AppContextEventPath<PowerAppendChangedEvent>("功耗补偿变更后更新功耗显示", LogEnum.DevConsole,
                     action: message => {
                         foreach (var gpuVm in _gpuVms.Values) {
                             gpuVm.OnPropertyChanged(nameof(GpuViewModel.PowerUsageWText));
                         }
                         AppContext.Instance.GpuSpeedVms.OnPropertyChanged(nameof(GpuSpeedViewModels.ProfitCnyPerDayText));
                     });
-                EventPath<GpuStateChangedEvent>("显卡状态变更后刷新VM内存", LogEnum.None,
+                AppContextEventPath<GpuStateChangedEvent>("显卡状态变更后刷新VM内存", LogEnum.None,
                     action: message => {
                         if (_gpuVms.ContainsKey(message.Source.Index)) {
                             GpuViewModel vm = _gpuVms[message.Source.Index];

+ 3 - 3
src/AppModels/AppContext.partials.GroupViewModels.cs

@@ -29,7 +29,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChangeds();
                     });
-                EventPath<GroupAddedEvent>("添加了组后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GroupAddedEvent>("添加了组后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             GroupViewModel groupVm = new GroupViewModel(message.Source);
@@ -37,7 +37,7 @@ namespace NTMiner {
                             OnPropertyChangeds();
                         }
                     });
-                EventPath<GroupUpdatedEvent>("更新了组后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GroupUpdatedEvent>("更新了组后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             GroupViewModel entity = _dicById[message.Source.GetId()];
@@ -49,7 +49,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<GroupRemovedEvent>("删除了组后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<GroupRemovedEvent>("删除了组后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChangeds();

+ 3 - 3
src/AppModels/AppContext.partials.KernelInputViewModels.cs

@@ -23,13 +23,13 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChangeds();
                     });
-                EventPath<KernelInputAddedEvent>("添加了内核输入后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelInputAddedEvent>("添加了内核输入后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         var vm = new KernelInputViewModel(message.Source);
                         _dicById.Add(message.Source.GetId(), vm);
                         OnPropertyChangeds();
                     });
-                EventPath<KernelInputUpdatedEvent>("更新了内核输入后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelInputUpdatedEvent>("更新了内核输入后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             var item = _dicById[message.Source.GetId()];
@@ -51,7 +51,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<KernelInputRemovedEvent>("移除了内核输入后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelInputRemovedEvent>("移除了内核输入后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Remove(message.Source.GetId());

+ 3 - 3
src/AppModels/AppContext.partials.KernelOutputFilterViewModels.cs

@@ -20,7 +20,7 @@ namespace NTMiner {
                         _dicByKernelOutputId.Clear();
                         Init();
                     });
-                EventPath<KernelOutputFilterAddedEvent>("添加了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputFilterAddedEvent>("添加了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             KernelOutputFilterViewModel vm = new KernelOutputFilterViewModel(message.Source);
@@ -34,13 +34,13 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<KernelOutputFilterUpdatedEvent>("更新了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputFilterUpdatedEvent>("更新了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.TryGetValue(message.Source.GetId(), out KernelOutputFilterViewModel vm)) {
                             vm.Update(message.Source);
                         }
                     });
-                EventPath<KernelOutputFilterRemovedEvent>("删除了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputFilterRemovedEvent>("删除了内核输出过滤器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.TryGetValue(message.Source.GetId(), out KernelOutputFilterViewModel vm)) {
                             _dicById.Remove(vm.Id);

+ 3 - 3
src/AppModels/AppContext.partials.KernelOutputTranslaterViewModels.cs

@@ -25,7 +25,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChanged(nameof(AllKernelOutputTranslaterVms));
                     });
-                EventPath<KernelOutputTranslaterAddedEvent>("添加了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputTranslaterAddedEvent>("添加了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         KernelOutputViewModel kernelOutputVm;
                         if (AppContext.Instance.KernelOutputVms.TryGetKernelOutputVm(message.Source.KernelOutputId, out kernelOutputVm)) {
@@ -38,7 +38,7 @@ namespace NTMiner {
                             kernelOutputVm.OnPropertyChanged(nameof(kernelOutputVm.KernelOutputTranslaters));
                         }
                     });
-                EventPath<KernelOutputTranslaterUpdatedEvent>("更新了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputTranslaterUpdatedEvent>("更新了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicByKernelOutputId.ContainsKey(message.Source.KernelOutputId)) {
                             var item = _dicByKernelOutputId[message.Source.KernelOutputId].FirstOrDefault(a => a.Id == message.Source.GetId());
@@ -47,7 +47,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<KernelOutputTranslaterRemovedEvent>("移除了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputTranslaterRemovedEvent>("移除了内核输出翻译器后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicByKernelOutputId.ContainsKey(message.Source.KernelOutputId)) {
                             var item = _dicByKernelOutputId[message.Source.KernelOutputId].FirstOrDefault(a => a.Id == message.Source.GetId());

+ 3 - 3
src/AppModels/AppContext.partials.KernelOutputViewModels.cs

@@ -23,14 +23,14 @@ namespace NTMiner {
                     action: message => {
                         AllPropertyChanged();
                     });
-                EventPath<KernelOutputAddedEvent>("添加了内核输出组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputAddedEvent>("添加了内核输出组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         var vm = new KernelOutputViewModel(message.Source);
                         _dicById.Add(message.Source.GetId(), vm);
                         OnPropertyChanged(nameof(AllKernelOutputVms));
                         OnPropertyChanged(nameof(PleaseSelectVms));
                     });
-                EventPath<KernelOutputUpdatedEvent>("更新了内核输出组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputUpdatedEvent>("更新了内核输出组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             var item = _dicById[message.Source.GetId()];
@@ -39,7 +39,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<KernelOutputRemovedEvent>("移除了内核输出组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelOutputRemovedEvent>("移除了内核输出组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Remove(message.Source.GetId());

+ 3 - 3
src/AppModels/AppContext.partials.KernelViewModels.cs

@@ -28,7 +28,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChanged(nameof(AllKernels));
                     });
-                EventPath<KernelAddedEvent>("添加了内核后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelAddedEvent>("添加了内核后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Add(message.Source.GetId(), new KernelViewModel(message.Source));
                         OnPropertyChanged(nameof(AllKernels));
@@ -36,7 +36,7 @@ namespace NTMiner {
                             coinKernelVm.OnPropertyChanged(nameof(coinKernelVm.IsSupportDualMine));
                         }
                     });
-                EventPath<KernelRemovedEvent>("删除了内核后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelRemovedEvent>("删除了内核后调整VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(AllKernels));
@@ -44,7 +44,7 @@ namespace NTMiner {
                             coinKernelVm.OnPropertyChanged(nameof(coinKernelVm.IsSupportDualMine));
                         }
                     });
-                EventPath<KernelUpdatedEvent>("更新了内核后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<KernelUpdatedEvent>("更新了内核后调整VM内存", LogEnum.DevConsole,
                     action: message => {
                         var entity = _dicById[message.Source.GetId()];
                         PublishStatus publishStatus = entity.PublishState;

+ 3 - 3
src/AppModels/AppContext.partials.MineWorkViewModels.cs

@@ -25,7 +25,7 @@ namespace NTMiner {
                 this.Add = new DelegateCommand(() => {
                     new MineWorkViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add);
                 });
-                EventPath<MineWorkAddedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MineWorkAddedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Add(message.Source.GetId(), new MineWorkViewModel(message.Source));
@@ -36,11 +36,11 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<MineWorkUpdatedEvent>("更新作业后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MineWorkUpdatedEvent>("更新作业后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });
-                EventPath<MineWorkRemovedEvent>("删除作业后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MineWorkRemovedEvent>("删除作业后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(List));

+ 3 - 3
src/AppModels/AppContext.partials.MinerGroupViewModels.cs

@@ -26,7 +26,7 @@ namespace NTMiner {
                 this.Add = new DelegateCommand(() => {
                     new MinerGroupViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add);
                 });
-                EventPath<MinerGroupAddedEvent>("添加矿机分组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MinerGroupAddedEvent>("添加矿机分组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Add(message.Source.GetId(), new MinerGroupViewModel(message.Source));
@@ -35,11 +35,11 @@ namespace NTMiner {
                             AppContext.Instance.MinerClientsWindowVm.OnPropertyChanged(nameof(MinerClientsWindowViewModel.SelectedMinerGroup));
                         }
                     });
-                EventPath<MinerGroupUpdatedEvent>("更新矿机分组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MinerGroupUpdatedEvent>("更新矿机分组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });
-                EventPath<MinerGroupRemovedEvent>("删除矿机分组后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<MinerGroupRemovedEvent>("删除矿机分组后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(List));

+ 4 - 4
src/AppModels/AppContext.partials.NTMinerWalletViewModels.cs

@@ -21,14 +21,14 @@ namespace NTMiner {
                     return;
                 }
                 Init(refresh: false);
-                EventPath<NTMinerWalletSetInitedEvent>("NTMiner钱包集初始化后", LogEnum.DevConsole,
+                AppContextEventPath<NTMinerWalletSetInitedEvent>("NTMiner钱包集初始化后", LogEnum.DevConsole,
                     action: message => {
                         Init(refresh: true);
                     });
                 this.Add = new DelegateCommand(() => {
                     new NTMinerWalletViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add);
                 });
-                EventPath<NTMinerWalletAddedEvent>("添加NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<NTMinerWalletAddedEvent>("添加NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Add(message.Source.GetId(), new NTMinerWalletViewModel(message.Source));
@@ -38,11 +38,11 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<NTMinerWalletUpdatedEvent>("更新NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<NTMinerWalletUpdatedEvent>("更新NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });
-                EventPath<NTMinerWalletRemovedEvent>("删除NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<NTMinerWalletRemovedEvent>("删除NTMiner钱包后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         CoinViewModel coinVm;

+ 4 - 4
src/AppModels/AppContext.partials.OverClockDataViewModels.cs

@@ -18,11 +18,11 @@ namespace NTMiner {
                     return;
                 }
                 Init(refresh: false);
-                EventPath<OverClockDataSetInitedEvent>("超频建议集初始化后", LogEnum.DevConsole,
+                AppContextEventPath<OverClockDataSetInitedEvent>("超频建议集初始化后", LogEnum.DevConsole,
                     action: message => {
                         Init(refresh: true);
                     });
-                EventPath<OverClockDataAddedEvent>("添加超频建议后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<OverClockDataAddedEvent>("添加超频建议后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Add(message.Source.GetId(), new OverClockDataViewModel(message.Source));
@@ -32,11 +32,11 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<OverClockDataUpdatedEvent>("更新超频建议后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<OverClockDataUpdatedEvent>("更新超频建议后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });
-                EventPath<OverClockDataRemovedEvent>("删除超频建议后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<OverClockDataRemovedEvent>("删除超频建议后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         CoinViewModel coinVm;

+ 3 - 3
src/AppModels/AppContext.partials.PackageViewModels.cs

@@ -23,7 +23,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChanged(nameof(AllPackages));
                     });
-                EventPath<PackageAddedEvent>("添加了包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PackageAddedEvent>("添加了包后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Add(message.Source.GetId(), new PackageViewModel(message.Source));
                         OnPropertyChanged(nameof(AllPackages));
@@ -31,7 +31,7 @@ namespace NTMiner {
                             item.OnPropertyChanged(nameof(item.IsPackageValid));
                         }
                     });
-                EventPath<PackageRemovedEvent>("删除了包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PackageRemovedEvent>("删除了包后调整VM内存", LogEnum.DevConsole,
                     action: message => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(AllPackages));
@@ -39,7 +39,7 @@ namespace NTMiner {
                             item.OnPropertyChanged(nameof(item.IsPackageValid));
                         }
                     });
-                EventPath<PackageUpdatedEvent>("更新了包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PackageUpdatedEvent>("更新了包后调整VM内存", LogEnum.DevConsole,
                     action: message => {
                         var entity = _dicById[message.Source.GetId()];
                         entity.Update(message.Source);

+ 3 - 3
src/AppModels/AppContext.partials.PoolKernelViewModels.cs

@@ -14,7 +14,7 @@ namespace NTMiner {
 #if DEBUG
                 Write.Stopwatch.Restart();
 #endif
-                EventPath<PoolKernelAddedEvent>("新添了矿池内核后刷新矿池内核VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolKernelAddedEvent>("新添了矿池内核后刷新矿池内核VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             PoolViewModel poolVm;
@@ -24,7 +24,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<PoolKernelRemovedEvent>("移除了币种内核后刷新矿池内核VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolKernelRemovedEvent>("移除了币种内核后刷新矿池内核VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             var vm = _dicById[message.Source.GetId()];
@@ -35,7 +35,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<PoolKernelUpdatedEvent>("更新了矿池内核后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolKernelUpdatedEvent>("更新了矿池内核后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById[message.Source.GetId()].Update(message.Source);

+ 1 - 1
src/AppModels/AppContext.partials.PoolProfileViewModels.cs

@@ -13,7 +13,7 @@ namespace NTMiner {
 #if DEBUG
                 Write.Stopwatch.Restart();
 #endif
-                EventPath<PoolProfilePropertyChangedEvent>("矿池设置变更后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolProfilePropertyChangedEvent>("矿池设置变更后刷新VM内存", LogEnum.DevConsole,
                     action: message => {
                         if (_dicById.TryGetValue(message.PoolId, out PoolProfileViewModel vm)) {
                             vm.OnPropertyChanged(message.PropertyName);

+ 3 - 3
src/AppModels/AppContext.partials.PoolViewModels.cs

@@ -22,7 +22,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChanged(nameof(AllPools));
                     });
-                EventPath<PoolAddedEvent>("添加矿池后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolAddedEvent>("添加矿池后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Add(message.Source.GetId(), new PoolViewModel(message.Source));
                         OnPropertyChanged(nameof(AllPools));
@@ -34,7 +34,7 @@ namespace NTMiner {
                             coinVm.OnPropertyChanged(nameof(NTMiner.Vms.CoinViewModel.OptionPools));
                         }
                     });
-                EventPath<PoolRemovedEvent>("删除矿池后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolRemovedEvent>("删除矿池后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(AllPools));
@@ -46,7 +46,7 @@ namespace NTMiner {
                             coinVm.OnPropertyChanged(nameof(CoinViewModel.OptionPools));
                         }
                     });
-                EventPath<PoolUpdatedEvent>("更新矿池后刷新VM内存", LogEnum.DevConsole,
+                AppContextEventPath<PoolUpdatedEvent>("更新矿池后刷新VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });

+ 1 - 1
src/AppModels/AppContext.partials.ShareViewModels.cs

@@ -13,7 +13,7 @@ namespace NTMiner {
 #if DEBUG
                 Write.Stopwatch.Restart();
 #endif
-                EventPath<ShareChangedEvent>("收益变更后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<ShareChangedEvent>("收益变更后调整VM内存", LogEnum.DevConsole,
                     action: message => {
                         ShareViewModel shareVm;
                         if (_dicByCoinId.TryGetValue(message.Source.CoinId, out shareVm)) {

+ 3 - 3
src/AppModels/AppContext.partials.SysDicItemViewModels.cs

@@ -23,7 +23,7 @@ namespace NTMiner {
                     action: message => {
                         OnPropertyChangeds();
                     });
-                EventPath<SysDicItemAddedEvent>("添加了系统字典项后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicItemAddedEvent>("添加了系统字典项后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             _dicById.Add(message.Source.GetId(), new SysDicItemViewModel(message.Source));
@@ -35,7 +35,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<SysDicItemUpdatedEvent>("更新了系统字典项后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicItemUpdatedEvent>("更新了系统字典项后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             SysDicItemViewModel entity = _dicById[message.Source.GetId()];
@@ -50,7 +50,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<SysDicItemRemovedEvent>("删除了系统字典项后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicItemRemovedEvent>("删除了系统字典项后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChangeds();

+ 3 - 3
src/AppModels/AppContext.partials.SysDicViewModels.cs

@@ -30,7 +30,7 @@ namespace NTMiner {
                 this.Add = new DelegateCommand(() => {
                     new SysDicViewModel(Guid.NewGuid()).Edit.Execute(null);
                 });
-                EventPath<SysDicAddedEvent>("添加了系统字典后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicAddedEvent>("添加了系统字典后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (!_dicById.ContainsKey(message.Source.GetId())) {
                             SysDicViewModel sysDicVm = new SysDicViewModel(message.Source);
@@ -41,7 +41,7 @@ namespace NTMiner {
                             OnPropertyChangeds();
                         }
                     });
-                EventPath<SysDicUpdatedEvent>("更新了系统字典后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicUpdatedEvent>("更新了系统字典后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         if (_dicById.ContainsKey(message.Source.GetId())) {
                             SysDicViewModel entity = _dicById[message.Source.GetId()];
@@ -52,7 +52,7 @@ namespace NTMiner {
                             }
                         }
                     });
-                EventPath<SysDicRemovedEvent>("删除了系统字典后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<SysDicRemovedEvent>("删除了系统字典后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         _dicByCode.Remove(message.Source.Code);

+ 3 - 3
src/AppModels/AppContext.partials.UserViewModels.cs

@@ -25,21 +25,21 @@ namespace NTMiner {
                     }
                     new UserViewModel().Edit.Execute(FormType.Add);
                 });
-                EventPath<UserAddedEvent>("添加了用户后", LogEnum.DevConsole,
+                AppContextEventPath<UserAddedEvent>("添加了用户后", LogEnum.DevConsole,
                     action: message => {
                         if (!_dicByLoginName.ContainsKey(message.Source.LoginName)) {
                             _dicByLoginName.Add(message.Source.LoginName, new UserViewModel(message.Source));
                             OnPropertyChanged(nameof(List));
                         }
                     });
-                EventPath<UserUpdatedEvent>("更新了用户后", LogEnum.DevConsole,
+                AppContextEventPath<UserUpdatedEvent>("更新了用户后", LogEnum.DevConsole,
                     action: message => {
                         UserViewModel vm;
                         if (_dicByLoginName.TryGetValue(message.Source.LoginName, out vm)) {
                             vm.Update(message.Source);
                         }
                     });
-                EventPath<UserRemovedEvent>("移除了用户后", LogEnum.DevConsole,
+                AppContextEventPath<UserRemovedEvent>("移除了用户后", LogEnum.DevConsole,
                     action: message => {
                         _dicByLoginName.Remove(message.Source.LoginName);
                         OnPropertyChanged(nameof(List));

+ 3 - 3
src/AppModels/AppContext.partials.WalletViewModels.cs

@@ -18,7 +18,7 @@ namespace NTMiner {
                         _dicById.Clear();
                         Init();
                     });
-                EventPath<WalletAddedEvent>("添加了钱包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<WalletAddedEvent>("添加了钱包后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Add(message.Source.GetId(), new WalletViewModel(message.Source));
                         OnPropertyChanged(nameof(WalletList));
@@ -29,7 +29,7 @@ namespace NTMiner {
                             coin.CoinKernel?.CoinKernelProfile?.SelectedDualCoin?.OnPropertyChanged(nameof(CoinViewModel.Wallets));
                         }
                     });
-                EventPath<WalletRemovedEvent>("删除了钱包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<WalletRemovedEvent>("删除了钱包后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById.Remove(message.Source.GetId());
                         OnPropertyChanged(nameof(WalletList));
@@ -41,7 +41,7 @@ namespace NTMiner {
                             coin.CoinKernel?.CoinKernelProfile?.SelectedDualCoin?.OnPropertyChanged(nameof(CoinViewModel.Wallets));
                         }
                     });
-                EventPath<WalletUpdatedEvent>("更新了钱包后调整VM内存", LogEnum.DevConsole,
+                AppContextEventPath<WalletUpdatedEvent>("更新了钱包后调整VM内存", LogEnum.DevConsole,
                     action: (message) => {
                         _dicById[message.Source.GetId()].Update(message.Source);
                     });

+ 2 - 2
src/AppModels/Vms/MinerProfileViewModel.cs

@@ -218,7 +218,7 @@ namespace NTMiner.Vms {
                 action: message => {
                     OnPropertyChanged(nameof(CoinVm));
                 });
-            AppContext.CmdPath<RefreshAutoBootStartCommand>("刷新开机启动和自动挖矿的展示", LogEnum.DevConsole,
+            AppContext.AppContextCmdPath<RefreshAutoBootStartCommand>("刷新开机启动和自动挖矿的展示", LogEnum.DevConsole,
                 action: message => {
                     MinerProfileData data = NTMinerRoot.CreateLocalRepository<MinerProfileData>().GetByKey(this.Id);
                     if (data != null) {
@@ -226,7 +226,7 @@ namespace NTMiner.Vms {
                         this.IsAutoStart = data.IsAutoStart;
                     }
                 });
-            AppContext.EventPath<MinerProfilePropertyChangedEvent>("MinerProfile设置变更后刷新VM内存", LogEnum.DevConsole,
+            AppContext.AppContextEventPath<MinerProfilePropertyChangedEvent>("MinerProfile设置变更后刷新VM内存", LogEnum.DevConsole,
                 action: message => {
                     OnPropertyChanged(message.PropertyName);
                 });

+ 1 - 1
src/AppViews0/ChartsWindow.xaml.cs

@@ -36,7 +36,7 @@ namespace NTMiner.Views {
             this.Activated += changeNotiCenterWindowLocation;
             this.LocationChanged += changeNotiCenterWindowLocation;
             #region 总算力
-            this.BuildEventPath<Per10SecondEvent>("周期刷新总算力图", LogEnum.DevConsole,
+            this.WindowContextEventPath<Per10SecondEvent>("周期刷新总算力图", LogEnum.DevConsole,
                 action: message => {
                     RefreshTotalSpeedChart(limit: 1);
                 });

+ 6 - 6
src/AppViews0/MainWindow.xaml.cs

@@ -198,14 +198,14 @@ namespace NTMiner.Views {
                 });
             });
             if (DevMode.IsDevMode) {
-                this.BuildEventPath<ServerJsonVersionChangedEvent>("开发者模式展示ServerJsonVersion", LogEnum.DevConsole,
+                this.WindowContextEventPath<ServerJsonVersionChangedEvent>("开发者模式展示ServerJsonVersion", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             Vm.ServerJsonVersion = NTMinerRoot.Instance.GetServerJsonVersion();
                         });
                     });
             }
-            this.BuildEventPath<PoolDelayPickedEvent>("从内核输出中提取了矿池延时时展示到界面", LogEnum.DevConsole,
+            this.WindowContextEventPath<PoolDelayPickedEvent>("从内核输出中提取了矿池延时时展示到界面", LogEnum.DevConsole,
                 action: message => {
                     UIThread.Execute(() => {
                         if (message.IsDual) {
@@ -216,21 +216,21 @@ namespace NTMiner.Views {
                         }
                     });
                 });
-            this.BuildEventPath<MineStartedEvent>("开始挖矿后将清空矿池延时", LogEnum.DevConsole,
+            this.WindowContextEventPath<MineStartedEvent>("开始挖矿后将清空矿池延时", LogEnum.DevConsole,
                 action: message => {
                     UIThread.Execute(() => {
                         Vm.StateBarVm.PoolDelayText = string.Empty;
                         Vm.StateBarVm.DualPoolDelayText = string.Empty;
                     });
                 });
-            this.BuildEventPath<MineStopedEvent>("停止挖矿后将清空矿池延时", LogEnum.DevConsole,
+            this.WindowContextEventPath<MineStopedEvent>("停止挖矿后将清空矿池延时", LogEnum.DevConsole,
                 action: message => {
                     UIThread.Execute(() => {
                         Vm.StateBarVm.PoolDelayText = string.Empty;
                         Vm.StateBarVm.DualPoolDelayText = string.Empty;
                     });
                 });
-            this.BuildEventPath<Per1MinuteEvent>("挖矿中时自动切换为无界面模式 和 守护进程状态显示", LogEnum.DevConsole,
+            this.WindowContextEventPath<Per1MinuteEvent>("挖矿中时自动切换为无界面模式 和 守护进程状态显示", LogEnum.DevConsole,
                 action: message => {
                     if (NTMinerRoot.IsUiVisible && NTMinerRoot.Instance.MinerProfile.IsAutoNoUi && NTMinerRoot.Instance.IsMining) {
                         if (NTMinerRoot.MainWindowRendedOn.AddMinutes(NTMinerRoot.Instance.MinerProfile.AutoNoUiMinutes) < message.Timestamp) {
@@ -317,7 +317,7 @@ namespace NTMiner.Views {
                     UIThread.Execute(() => {
                         UpdateCpuView(performance, temperature);
                     });
-                    this.BuildEventPath<Per1SecondEvent>("每秒钟更新CPU使用率和温度", LogEnum.None,
+                    this.WindowContextEventPath<Per1SecondEvent>("每秒钟更新CPU使用率和温度", LogEnum.None,
                         action: message => {
                             RefreshCpu();
                         });

+ 2 - 2
src/AppViews0/MinerClientsWindow.xaml.cs

@@ -35,7 +35,7 @@ namespace NTMiner.Views {
             this.DataContext = Vm;
             this.DataContext = AppContext.Instance.MinerClientsWindowVm;
             InitializeComponent();
-            this.BuildEventPath<Per1SecondEvent>("刷新倒计时秒表", LogEnum.None,
+            this.WindowContextEventPath<Per1SecondEvent>("刷新倒计时秒表", LogEnum.None,
                 action: message => {
                     var minerClients = Vm.MinerClients.ToArray();
                     if (Vm.CountDown > 0) {
@@ -45,7 +45,7 @@ namespace NTMiner.Views {
                         }
                     }
                 });
-            this.BuildEventPath<Per10SecondEvent>("周期刷新在线客户端列表", LogEnum.DevConsole,
+            this.WindowContextEventPath<Per10SecondEvent>("周期刷新在线客户端列表", LogEnum.DevConsole,
                 action: message => {
                     AppContext.Instance.MinerClientsWindowVm.QueryMinerClients();
                 });

+ 2 - 2
src/AppViews0/Ucs/Calc.xaml.cs

@@ -33,7 +33,7 @@ namespace NTMiner.Views.Ucs {
         private Calc() {
             InitializeComponent();
             this.RunOneceOnLoaded((window) => {
-                window.BuildEventPath<CalcConfigSetInitedEvent>("收益计算器数据集刷新后刷新VM", LogEnum.DevConsole,
+                window.WindowContextEventPath<CalcConfigSetInitedEvent>("收益计算器数据集刷新后刷新VM", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             foreach (var coinVm in Vm.CoinVms.AllCoins) {
@@ -41,7 +41,7 @@ namespace NTMiner.Views.Ucs {
                             }
                         });
                     });
-                window.BuildEventPath<Per1MinuteEvent>("当收益计算器页面打开着的时候周期刷新", LogEnum.None,
+                window.WindowContextEventPath<Per1MinuteEvent>("当收益计算器页面打开着的时候周期刷新", LogEnum.None,
                     action: message => {
                         if (Vm.CoinVms.AllCoins.Count == 0) {
                             return;

+ 1 - 1
src/AppViews0/Ucs/CalcConfig.xaml.cs

@@ -35,7 +35,7 @@ namespace NTMiner.Views.Ucs {
         private CalcConfig() {
             InitializeComponent();
             this.RunOneceOnLoaded((window) => {
-                window.BuildEventPath<CalcConfigSetInitedEvent>("收益计算器数据集刷新后刷新VM", LogEnum.DevConsole,
+                window.WindowContextEventPath<CalcConfigSetInitedEvent>("收益计算器数据集刷新后刷新VM", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(()=> Vm.Refresh());
                     });

+ 1 - 1
src/AppViews0/Ucs/LocalIpConfig.xaml.cs

@@ -22,7 +22,7 @@ namespace NTMiner.Views.Ucs {
                         window.DragMove();
                     }
                 };
-                window.BuildEventPath<LocalIpSetRefreshedEvent>("本机IP集刷新后刷新IP设置页", LogEnum.DevConsole,
+                window.WindowContextEventPath<LocalIpSetRefreshedEvent>("本机IP集刷新后刷新IP设置页", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(()=> vm.Refresh());
                     });

+ 1 - 1
src/AppViews0/Ucs/MinerClientUc.xaml.cs

@@ -16,7 +16,7 @@ namespace NTMiner.Views.Ucs {
             InitializeComponent();
             this.TbDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
             this.RunOneceOnLoaded((window) => {
-                window.BuildEventPath<MinutePartChangedEvent>("整分钟时更新MinerClientUc上的日期时间计时器", LogEnum.None,
+                window.WindowContextEventPath<MinutePartChangedEvent>("整分钟时更新MinerClientUc上的日期时间计时器", LogEnum.None,
                     action: message => {
                         this.TbDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
                     });

+ 1 - 1
src/AppViews0/Ucs/MinerProfileDual.xaml.cs

@@ -18,7 +18,7 @@ namespace NTMiner.Views.Ucs {
             this.PopupDualCoin.Closed += Popup_Closed;
             this.PopupDualCoinWallet.Closed += Popup_Closed;
             this.RunOneceOnLoaded((window) => {
-                window.BuildEventPath<LocalContextVmsReInitedEvent>("本地上下文视图模型集刷新后刷新界面上的popup", LogEnum.DevConsole,
+                window.WindowContextEventPath<LocalContextVmsReInitedEvent>("本地上下文视图模型集刷新后刷新界面上的popup", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             if (Vm.MineWork != null) {

+ 1 - 1
src/AppViews0/Ucs/MinerProfileIndex.xaml.cs

@@ -19,7 +19,7 @@ namespace NTMiner.Views.Ucs {
             this.PopupMainCoin.Closed += Popup_Closed;
             this.PopupMainCoinWallet.Closed += Popup_Closed;
             this.RunOneceOnLoaded((window)=> {
-                window.BuildEventPath<ServerContextVmsReInitedEvent>("上下文视图模型集刷新后刷新界面上的popup", LogEnum.DevConsole,
+                window.WindowContextEventPath<ServerContextVmsReInitedEvent>("上下文视图模型集刷新后刷新界面上的popup", LogEnum.DevConsole,
                 action: message => {
                     UIThread.Execute(() => {
                         if (Vm.MinerProfile.MineWork != null) {

+ 1 - 1
src/AppViews0/Ucs/SpeedCharts.xaml.cs

@@ -49,7 +49,7 @@ namespace NTMiner.Views.Ucs {
             }
             Guid mainCoinId = NTMinerRoot.Instance.MinerProfile.CoinId;
             this.RunOneceOnLoaded((window) => {
-                window.BuildEventPath<GpuSpeedChangedEvent>("显卡算力变更后刷新算力图界面", LogEnum.DevConsole,
+                window.WindowContextEventPath<GpuSpeedChangedEvent>("显卡算力变更后刷新算力图界面", LogEnum.DevConsole,
                     action: (message) => {
                         UIThread.Execute(() => {
                             if (mainCoinId != NTMinerRoot.Instance.MinerProfile.CoinId) {

+ 6 - 6
src/AppViews0/Ucs/StateBar.xaml.cs

@@ -22,15 +22,15 @@ namespace NTMiner.Views.Ucs {
                     Vm.OnPropertyChanged(nameof(Vm.IsRemoteDesktopEnabled));
                     Vm.OnPropertyChanged(nameof(Vm.RemoteDesktopToolTip));
                 };
-                window.BuildEventPath<LocalIpSetRefreshedEvent>("本机IP集刷新后刷新状态栏", LogEnum.DevConsole,
+                window.WindowContextEventPath<LocalIpSetRefreshedEvent>("本机IP集刷新后刷新状态栏", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(()=> Vm.RefreshLocalIps());
                     });
-                window.BuildEventPath<MinutePartChangedEvent>("时间的分钟部分变更过更新计时器显示", LogEnum.None,
+                window.WindowContextEventPath<MinutePartChangedEvent>("时间的分钟部分变更过更新计时器显示", LogEnum.None,
                     action: message => {
                         Vm.UpdateDateTime();
                     });
-                window.BuildEventPath<Per1SecondEvent>("挖矿计时秒表", LogEnum.None,
+                window.WindowContextEventPath<Per1SecondEvent>("挖矿计时秒表", LogEnum.None,
                     action: message => {
                         DateTime now = DateTime.Now;
                         Vm.UpdateBootTimeSpan(now - NTMinerRoot.Instance.CreatedOn);
@@ -39,19 +39,19 @@ namespace NTMiner.Views.Ucs {
                             Vm.UpdateMineTimeSpan(now - mineContext.CreatedOn);
                         }
                     });
-                window.BuildEventPath<AppVersionChangedEvent>("发现了服务端新版本", LogEnum.DevConsole,
+                window.WindowContextEventPath<AppVersionChangedEvent>("发现了服务端新版本", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             Vm.SetCheckUpdateForeground(isLatest: MainAssemblyInfo.CurrentVersion >= NTMinerRoot.ServerVersion);
                         });
                     });
-                window.BuildEventPath<KernelSelfRestartedEvent>("内核自我重启时刷新计数器", LogEnum.DevConsole,
+                window.WindowContextEventPath<KernelSelfRestartedEvent>("内核自我重启时刷新计数器", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             Vm.OnPropertyChanged(nameof(Vm.KernelSelfRestartCountText));
                         });
                     });
-                window.BuildEventPath<MineStartedEvent>("挖矿开始后将内核自我重启计数清零", LogEnum.DevConsole,
+                window.WindowContextEventPath<MineStartedEvent>("挖矿开始后将内核自我重启计数清零", LogEnum.DevConsole,
                     action: message => {
                         UIThread.Execute(() => {
                             Vm.OnPropertyChanged(nameof(Vm.KernelSelfRestartCountText));

+ 5 - 2
src/NTMinerWpf/WindowExtension.cs

@@ -89,7 +89,9 @@ namespace NTMiner {
         }
 
         private const string messagePathIdsResourceKey = "messagePathIds";
-        public static void BuildCmdPath<TCmd>(this Window window, string description, LogEnum logType, Action<TCmd> action)
+
+        // 因为是上下文路径,无需返回路径标识
+        public static void WindowContextCmdPath<TCmd>(this Window window, string description, LogEnum logType, Action<TCmd> action)
             where TCmd : ICmd {
             if (Design.IsInDesignMode) {
                 return;
@@ -107,7 +109,8 @@ namespace NTMiner {
             messagePathIds.Add(messagePathId);
         }
 
-        public static void BuildEventPath<TEvent>(this Window window, string description, LogEnum logType, Action<TEvent> action)
+        // 因为是上下文路径,无需返回路径标识
+        public static void WindowContextEventPath<TEvent>(this Window window, string description, LogEnum logType, Action<TEvent> action)
             where TEvent : IEvent {
             if (Design.IsInDesignMode) {
                 return;