当前位置: 首页 > wzjs >正文

公司公众网站微信平台建设方案论坛推广的步骤

公司公众网站微信平台建设方案,论坛推广的步骤,github wordpress主题,html+css+js目录 领域事件的实现选择 实现方式1:C#的事件机制 实现方式2:进程内消息传递的开源库MediatR。 MediatR用法 注意 领域事件的实现选择 实现方式1:C#的事件机制 缺点:需要显式地注册。 var bl new ProcessBusinessLogic()…

目录

领域事件的实现选择

实现方式1:C#的事件机制

实现方式2:进程内消息传递的开源库MediatR。

MediatR用法

注意


领域事件的实现选择

实现方式1:C#的事件机制

缺点:需要显式地注册。

var bl = new ProcessBusinessLogic();
bl.ProcessCompleted += bl_ProcessCompleted;
bl.StartProcess();

实现方式2:进程内消息传递的开源库MediatR。

事件的发布和事件的处理之间解耦。MediatR中支持“一个发布者对应一个处理者”和“一个发布者对应多个处理者”这两种模式。

MediatR用法
  1. NuGet:MediatR
  2. Program.cs中调用AddMediatR()
    builder.Services.AddMediatR(cfg =>
    {cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly());
    });
  3. 定义一个在消息的发布者和处理者之间进行数据传递的类,这个类需要实现INotification接口。一般用record类型。
    public record PostNotification(string Body) : INotification;
  4. 消息的处理者要实现NotificationHandler<TNotification>接口,其中的泛型参数TNotification代表此消息处理者要处理的消息类型。
    public class PostNotifHandler1 : NotificationHandler<PostNotification>
    {protected override void Handle(PostNotification notification){Console.WriteLine("111"+notification.Body);}
    }
  5. 在需要发布消息的的类中注入IMediator类型的服务,然后我们调用Publish方法来发布消息。Send()方法是用来发布一对一消息的,而Publish()方法是用来发布一对多消息的。
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class DemoController : ControllerBase
    {private readonly IMediator mediator;public DemoController(IMediator mediator){this.mediator = mediator;}[HttpGet]public ActionResult Get(){await mediator.Publish(new PostNotification("你好呀" + DateTime.Now));return Ok();}
    }
注意

如果使用await来调用Publish,程序会等待所有事件处理者的Handle方法执行完成才继续向后执行,因此事件发布者和事件处理者的代码是运行在相同的调用堆栈中的,这样可以轻松实现强一致性的事务。如果不需要等待事件处理者的执行,可以不使用await来在调用Publish;即使使用await调用Publish发布事件,如果某个事件处理者的代码执行太耗时,为避免影响用户体验,可以在事件处理者的Handle方法中异步执行事件的处理逻辑。如果不等待事件处理者,就要处理事务的最终一致性。

http://www.dtcms.com/wzjs/288085.html

相关文章:

  • 来推网站百度浏览器网站入口
  • 织梦cms和帝国cmswin7优化
  • 在华图做网站编辑网络推广费用
  • 如何做招聘网站对比分析电脑优化大师官方免费下载
  • 建设网站团队如何快速搭建一个网站
  • 网站开发哪里便宜人工在线客服
  • 食品网站设计网站建设费用明细表
  • 怎么在百度搜索自己的网站站长工具箱
  • 泰州市住房和城乡建设局官方网站怎么样引流顾客到店方法
  • 郑州做网站的专业公司有哪些口碑营销成功案例简短
  • 网站的推广兰州网络seo
  • 长沙建网站的公司一对一定制方案百度推广平台登陆
  • 静海网站建设制作百度代发排名
  • 做海报哪个网站好站长工具查询系统
  • 公司注册信息查询鹤岗网站seo
  • 徐州网站制作需要多少钱上海小红书seo
  • 深喘旋磨做紧夹断妖精网站百度问答平台
  • 网站建设第三方百度知道提问首页
  • 网站建设报价方案对比网页制作的步骤
  • 网站自助平台软文宣传
  • 宣传片制作app优化大师的功能有哪些
  • 上海移动官网网站建设抖音代运营收费详细价格
  • 台州网站建设 网站制作 网站设计石家庄头条今日头条新闻
  • 昆明优化网站商品seo关键词优化
  • java如何对网站做压力测试《新闻联播》 今天
  • 龙岗汤坑社区网站建设微信加精准客源软件
  • 公益网站怎么做百度一下你知道
  • 我要注册邮箱独立站seo
  • wordpress在线报名插件seo伪原创工具
  • wordpress按照视频佛山市seo推广联系方式