zoukankan      html  css  js  c++  java
  • MediatR INotification Handler执行顺序

    MediatR  INotification  Handler执行不保证顺序!!!

    注册:

    源码调试:

        public class NewUserM : INotification
        {
            public string Username { get; set; }
            public string Password { get; set; }
        }
    
    
        public class EmailHandler: INotificationHandler<NewUserM>
        {
            private static NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
    
            public Task Handle(NewUserM notification, CancellationToken cancellationToken)
            {
                Thread.Sleep(3000);
                log.Info("EmailHandler OK");
    
                return Task.FromResult(true);
            }
        }
    
        public class NewUserMHandler : INotificationHandler<NewUserM>
        {
            private static NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
    
            public Task Handle(NewUserM notification, CancellationToken cancellationToken)
            {
                log.Info("NewUserMHandler OK");
    
                return Task.FromResult(true);
            }
        }

    //Controller

    /// <summary>
    /// 模拟多处理器
    /// </summary>
    /// <param name="user"></param>
    /// <returns></returns>
    public ActionResult Register2(NewUserM user)
    {
    _mediator.Publish(user);

    return RedirectToAction("Login");
    }

    //startup

    var types = new[] {
    typeof(NewUserHandler),

    typeof(LogHandler),
    typeof(NewUserMHandler),
    typeof(EmailHandler),
    };
    services.AddMediatR(types);

      

    over

  • 相关阅读:
    可输入下拉框
    display:table-cell 相当于td
    循环拼接HTML
    jq操纵select
    echarts柱状图使用
    原生js 获取路由参数
    js下拉模糊查询
    ie 的hack
    vue 兼容ie11
    vuecli中的绝对路径和相对路径
  • 原文地址:https://www.cnblogs.com/huawublog/p/14119520.html
Copyright © 2011-2022 走看看