//interface  //处理调用
        protected virtual ReturnPacket InvokeHandler(Object instance, InvokePacket packet, InvokeImplementOperationInfo operationInfo)
        {
            ReturnPacket returnPacket = new ReturnPacket();
            Object       returnObject = null;

            try
            {
                returnPacket.HandleTime = DateTime.Now;
                returnObject            = operationInfo.OperationSchema.MethodInfo.Invoke(instance, packet.ParameterValues);

                returnPacket.Success     = true;
                returnPacket.Content     = returnObject;
                returnPacket.ContentType = operationInfo.ReturnParameterSchema.ParameterType.FullName;
            }
            catch (Exception exc)
            {
                returnPacket.Success = false;
                returnPacket.Message = exc.Message;
                if (this.ExceptionHanppened != null)
                {
                    HostExceptionEventArgs eventArgs = new HostExceptionEventArgs();
                    eventArgs.Exception = exc;
                    this.ExceptionHanppened.Invoke(eventArgs);
                    if (!eventArgs.Handled)
                    {
                        throw exc;
                    }
                }
                else
                {
                    throw exc;
                }
            }
            returnPacket.Elapsed = (Int32)(DateTime.Now - returnPacket.HandleTime).TotalMilliseconds;
            return(returnPacket);
        }
        // Interface【 Object InvokeRoute(Object data); //将调用路由到指定的服务实例上】
        private void InvokeRoute(Object state)
        {
            try
            {
                HttpListenerContext context = state as HttpListenerContext;

                //获取调用信息
                var          invokeTranObject = this._transferSerializer.CreateTransportable();
                MemoryStream memoryStream     = new MemoryStream();
                context.Request.InputStream.CopyTo(memoryStream);
                invokeTranObject.Load(memoryStream, 0, memoryStream.Length);
                memoryStream.Dispose();
                var invokePacket = this._transferSerializer.DeSerializeToInvokePacket(invokeTranObject);
                if (invokePacket == null)
                {
                    goto Close;
                }
                //获取服务操作的信息
                String operationPath = Utilities.GetOperationPath(invokePacket.InterfaceName, invokePacket.OperationName);
                var    operationInfo = this.GetOperationInfo(operationPath);
                if (operationInfo == null)
                {
                    goto Close;
                }
                Object serviceInstace = null;
                switch (operationInfo.ImplementSchema.InstantiateMode)
                {
                case InstantiateMode.EachCall:
                {
                    Func <Object> serviceInstaceFactory = this._serviceInstanceCreateFactoryTable[operationInfo.ImplementSchema.ImplementType];
                    serviceInstace = serviceInstaceFactory.Invoke();
                }
                break;

                case InstantiateMode.Singleton:
                {
                    serviceInstace = this._serviceInstanceTable[operationInfo.ImplementSchema.ImplementType];
                }
                break;
                }
                var returnPacket = this.InvokeHandler(serviceInstace, invokePacket, operationInfo);

                var returnTranObject = this._transferSerializer.SerializeReturnPacket(returnPacket);
                var returnStream     = returnTranObject.GetStream();

                context.Response.StatusCode      = 200;
                context.Response.ContentLength64 = returnStream.Length;

                try
                {
                    returnStream.CopyTo(context.Response.OutputStream);
                }
                finally
                {
                    returnStream.Close();
                }
Close:
                context.Response.Close();
            }
            catch (Exception exc)
            {
                HostExceptionEventArgs args = new HostExceptionEventArgs();
                args.Exception = exc;
                args.Handled   = false;
                this.ExceptionHanppened?.Invoke(args);
                if (!args.Handled)
                {
                    throw exc;
                }
            }
            //returnStream.CopyTo(context.Response.OutputStream);
            //returnStream.Close();
        }