static void Main(string[] args) { InitializeENodeFramework(); var _commandService = ObjectContainer.Resolve <ICommandService>(); #region 测试 string orderId = "ENODE_TEST_10705"; long operSoufunId = 914154500060; string operSoufunName = "ENode_Test_Data_Admin_60"; long ownerSoufunId = 514154500705; int count = 10705; Stopwatch timer = new Stopwatch(); for (int i = 0; i < 100; i++) { timer.Restart(); var command = new GrabOrderCommand(ObjectId.GenerateNewStringId(), orderId, operSoufunId, operSoufunName, ownerSoufunId); var result = _commandService.ExecuteAsync(command, CommandReturnType.EventHandled).WaitResult <AsyncTaskResult <CommandResult> >(5000); //var result = commandService.SendAsync(command); timer.Stop(); System.Console.WriteLine("当前Command通过ExecuteAsync方法执行成功的时间为:[{0} ms], OrderId为: [{1}]", timer.ElapsedMilliseconds, orderId); count++; orderId = "ENODE_TEST_" + count; ownerSoufunId++; System.Console.ReadKey(); } #endregion System.Console.ReadKey(); }
public async Task <ActionResult> Grab() { try { #region 参数验证 var validateResult = ParamsValidateMethod(); if (validateResult != null) { return(validateResult); } string orderId = Request["OrderId"]; long operSoufunId = long.Parse(Request["OperSoufunId"]); long ownerSoufunId = long.Parse(Request["OwnerSoufunId"]); string operSoufunName = Request["OperSoufunName"] ?? ""; #endregion #region 数据验证 string errMsg = string.Empty; EBS.Interface.Model.Admin_UserInfo auiModel = null; if (!new ParamValidateHelper().AllParamsValidate(out errMsg, out auiModel, orderId, operSoufunId, operSoufunName, ownerSoufunId)) { throw new Exception(errMsg); } var asaModel = EBS.Interface.Data.DBOper.Admin_SubAuth.Get("IsDel=0 and CONSTCODE=@code", "CreateTime desc", new object[] { "ADD_CUSTOMER" }, false); if (asaModel == null || asaModel.ID <= 0) { throw new ArgumentException(string.Format("CONSTCODE为:[{0}]的Admin_SubAuth表信息为空!", "ADD_CUSTOMER")); } if (asaModel.OrderService <= 0) { throw new Exception("非订单特定服务,无需操作!"); } if (auiModel.FunctionId <= 0) { throw new Exception("用户未分配职能!"); } var afiModel = EBS.Interface.Data.DBOper.Admin_FunctionInfo.Get("IsDel=0 and Id=@functionId", "CreateTime desc", new object[] { auiModel.FunctionId }, false); if (afiModel == null || afiModel.ID <= 0) { throw new ArgumentException(string.Format("FunctionId为:[{0}]的Admin_FunctionInfo表信息为空!", auiModel.FunctionId)); } var nsiModel = EBS.Interface.Data.DBOper.N_Service_Info.Get("IsDel=0 and Id=@serviceId", "CreateTime desc", new object[] { asaModel.OrderService }, false); if (nsiModel == null || nsiModel.ID <= 0) { throw new ArgumentException(string.Format("ServiceId为:[{0}]的N_Service_Info表信息为空!", asaModel.OrderService)); } #endregion var _commandService = ObjectContainer.Resolve <ICommandService>(); var command = new GrabOrderCommand(ObjectId.GenerateNewStringId(), orderId, operSoufunId, operSoufunName, ownerSoufunId); var result = await _commandService.ExecuteAsync(command, CommandReturnType.EventHandled).TimeOut(20000, "任务超时"); if (result.Status == AsyncTaskStatus.Success) { if (!string.IsNullOrEmpty(result.Data.ErrorMessage)) { return(Json(result.Data.ErrorMessage, JsonRequestBehavior.AllowGet)); } else { return(Json(string.Format("订单编号为:[{0}]的消息发送成功!", orderId), JsonRequestBehavior.AllowGet)); } } else { if (result.Status == AsyncTaskStatus.IOException) { var errJsonStr = CommandExecuteHelper.CreateErrJsonStr(command); await new ErrMsgDenormalizer().LoggingErrMsgToDb(errJsonStr, result.ErrorMessage, (int)result.Status); return(Json("服务器异常", JsonRequestBehavior.AllowGet)); } else { return(Json(string.Format("发送失败,错误原因:[{0}]", result.Data.ErrorMessage), JsonRequestBehavior.AllowGet)); } } } catch (Exception ex) { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } }