/// <summary> /// 消息处理 /// </summary> /// <param name="state"></param> private void ProcessMessage(object state) { CommandArgument cmd = (CommandArgument)state; var data = (StringArgumentData)cmd.Data; IEventWorker worker = EventWorkerContainer.CreateWorker(); var arg = worker.ToArgument(cmd.command, data.Argument); using (RpcContextScope.CreateScope(cmd, arg)) { try { worker.Process(cmd.command, arg); } catch (Exception e) { Console.WriteLine(e); if (cmd.cmdId == RpcEnvironment.NET_COMMAND_CALL) { RpcProxy.Result(new CommandResult { Status = RpcEnvironment.NET_COMMAND_STATE_SERVER_UNKNOW, Message = e.Message }); } } } }