dotnetcore / osharp

OSharp是一个基于.Net6.0的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
Apache License 2.0
2.77k stars 748 forks source link

去除EventBus中事件发布的wait参数,需要非阻塞时应该在handler中处理 #208

Closed gmf520 closed 3 years ago

gmf520 commented 3 years ago

您的功能请求与现有问题有关吗?请描述

描述您想要的解决方案

去除wait参数及相关实现

···

    /// <summary>
    /// 同步发布指定事件
    /// </summary>
    /// <typeparam name="TEventData">事件数据类型</typeparam>
    /// <param name="eventData">事件数据</param>
    /*/// <param name="wait">是否等待结果返回</param>*/
    void Publish<TEventData>(TEventData eventData/*, bool wait = true*/) where TEventData : IEventData;

    /// <summary>
    /// 同步发布指定事件,并指定事件源
    /// </summary>
    /// <typeparam name="TEventData">事件数据类型</typeparam>
    /// <param name="eventSource">事件源,触发事件的对象</param>
    /// <param name="eventData">事件数据</param>
            /*/// <param name="wait">是否等待结果返回</param>*/
    void Publish<TEventData>(object eventSource, TEventData eventData/*, bool wait = true*/) where TEventData : IEventData;

    /// <summary>
    /// 同步发布指定事件
    /// </summary>
    /// <param name="eventType">事件数据类型</param>
    /// <param name="eventData">事件数据</param>
            /*/// <param name="wait">是否等待结果返回</param>*/
    void Publish(Type eventType, IEventData eventData/*, bool wait = true*/);

    /// <summary>
    /// 同步发布指定事件,并指定事件源
    /// </summary>
    /// <param name="eventType">事件数据类型</param>
    /// <param name="eventSource">事件源,触发事件的对象</param>
    /// <param name="eventData">事件数据</param>
    /*/// <param name="wait">是否等待结果返回</param>*/
    void Publish(Type eventType, object eventSource, IEventData eventData/*, bool wait = true*/);

···