Пример #1
0
 /// <summary>
 /// 执行Sql语句
 /// </summary>
 /// <param name="sql">Sql语句</param>
 /// <param name="param">参数</param>
 public override int ExecuteSql(string sql, object param = null)
 {
     TransactionActionManager.Register(async transaction =>
     {
         await Connection.ExecuteAsync(sql, param, transaction);
     });
     return(1);
 }
Пример #2
0
 /// <summary>
 /// 执行Sql语句
 /// </summary>
 /// <param name="sql">Sql语句</param>
 /// <param name="param">参数</param>
 public override Task <int> ExecuteSqlAsync(string sql, object param = null)
 {
     TransactionActionManager.Register(async transaction =>
     {
         await Connection.ExecuteAsync(sql, param, transaction);
     });
     return(Task.FromResult(1));
 }
Пример #3
0
        /// <summary>
        /// 发布事件
        /// </summary>
        /// <param name="name">消息名称</param>
        /// <param name="data">事件数据</param>
        /// <param name="callback">回调名称</param>
        /// <param name="send">是否立即发送消息</param>
        public async Task PublishAsync(string name, object data, string callback = null, bool send = false)
        {
            var headers = new Dictionary <string, string> {
                { DotNetCore.CAP.Messages.Headers.CallbackName, callback }
            };

            InitTraceIdContext(headers);
            if (send)
            {
                await InternalPublishAsync(name, data, headers, callback);

                return;
            }
            TransactionActionManager.Register(async transaction =>
            {
                await InternalPublishAsync(name, data, headers, callback);
            });
        }