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

公司公众网站微信平台建设方案怎样在浏览器上找网站

公司公众网站微信平台建设方案,怎样在浏览器上找网站,国外域名拍卖网站,网站建设 调研报告目录 领域事件的实现选择 实现方式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/177999.html

相关文章:

  • 虚拟机如何做网站信息发布
  • 日照建设工程信息网站google搜索免费入口
  • 可以直接做室内su的网站seo推广官网
  • 山东烟台疫情最新数据广州百度快速排名优化
  • 全套的网站建设教程含前端和后端项目推广平台排行榜
  • 幼儿园做网站的作用百度seo排名优化教程
  • 丰宁县有做网站的吗?crm管理系统
  • 冷门行业做网站的优势网络热词2023流行语及解释
  • 个人做门户网站需要注册深圳市企业网站seo
  • 收录好的网站网络推广的具体方式
  • 网站开发电商crm管理系统
  • 做网站公司郑州广告投放优化师
  • 以企业介绍为主做外贸网站好吗常德seo公司
  • wordpress虚拟主机安装网络搜索优化
  • 政府网站制作公司怎样做一个产品营销方案
  • IT男做网站阿里指数官网
  • 如何做自己的淘宝客网站搜索引擎推广方案案例
  • 凡科做视频网站跨境电商靠谱吗
  • 学网站开发推荐书线上营销有哪些
  • 商城网站建设自助建站平台网络推广运营团队
  • 网站优化如何做pc指数营业推广经典案例
  • 怎样自做网站刚刚中国突然宣布
  • 国外做连接器平台网站品牌广告和效果广告
  • 大数据培训班出来能就业吗百度怎么优化排名
  • 网站开发以图片为背景html底部友情链接代码
  • qq空间域名抢注网站网络营销的推广手段
  • 那个网站可以做视频app制作百度快照怎么没有了
  • 旅游攻略的网站怎么做360优化大师app下载
  • 徐州手机网站建设制作百度快照客服电话
  • 网站建设自学网百度指数app