/// <summary>
            /// 命令处理
            /// </summary>
            /// <param name="index">命令序号</param>
            /// <param name="sender">TCP 内部服务套接字数据发送</param>
            /// <param name="data">命令数据</param>
            public override void DoCommand(int index, AutoCSer.Net.TcpInternalStreamServer.ServerSocketSender sender, ref SubArray <byte> data)
            {
                AutoCSer.Net.TcpServer.ReturnType returnType;
                switch (index - 128)
                {
                case 0:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p1 inputParameter = new _p1();
                        if (sender.DeSerialize(ref data, ref inputParameter, true))
                        {
                            _p2 _outputParameter_ = new _p2();

                            int Return;

                            Return = Value.add(inputParameter.p0, inputParameter.p1);
                            _outputParameter_.Return = Return;
                            sender.Push(_c0, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.AddLog(error);
                    }
                    sender.Push(returnType);
                    return;

                case 1:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter, true))
                        {
                            _p4 _outputParameter_ = new _p4();

                            AutoCSer.TestCase.TcpServerPerformance.Add Return;

                            Return = Value.addAsynchronous(inputParameter.p0, inputParameter.p1);
                            _outputParameter_.Return = Return;
                            sender.Push(_c1, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.AddLog(error);
                    }
                    sender.Push(returnType);
                    return;

                default: return;
                }
            }
            /// <summary>
            /// 命令处理
            /// </summary>
            /// <param name="index">命令序号</param>
            /// <param name="sender">TCP 内部服务套接字数据发送</param>
            /// <param name="data">命令数据</param>
            public override void DoCommand(int index, AutoCSer.Net.TcpOpenServer.ServerSocketSender sender, ref SubArray <byte> data)
            {
                AutoCSer.Net.TcpServer.ReturnType returnType;
                switch (index - 128)
                {
                case 0:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p1 inputParameter = new _p1();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p2 _outputParameter_ = new _p2();

                            bool Return;

                            Return = Value.login(sender, inputParameter.userName);
                            if (Return)
                            {
                                sender.SetVerifyMethod();
                            }
                            _outputParameter_.Return = Return;
                            sender.Push(_c0, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 1:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        {
                            (_s1 /**/.Pop() ?? new _s1()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.TcpQueue);
                            return;
                        }
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 2:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            (_s2 /**/.Pop() ?? new _s2()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.TcpQueue, ref inputParameter);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 3:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        {
                            _p4 outputParameter = new _p4();

                            Value.getUser(sender, sender.GetCallback <_p4, AutoCSer.TestCase.ChatData.UserLogin>(_c3, ref outputParameter));
                            return;
                        }
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 4:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        {
                            _p5 outputParameter = new _p5();

                            Value.getMessage(sender, sender.GetCallback <_p5, AutoCSer.TestCase.ChatData.Message>(_c4, ref outputParameter));
                            return;
                        }
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                default: return;
                }
            }
            /// <summary>
            /// 命令处理
            /// </summary>
            /// <param name="index">命令序号</param>
            /// <param name="sender">TCP 内部服务套接字数据发送</param>
            /// <param name="data">命令数据</param>
            public override void DoCommand(int index, AutoCSer.Net.TcpOpenServer.ServerSocketSender sender, ref SubArray <byte> data)
            {
                AutoCSer.Net.TcpServer.ReturnType returnType;
                switch (index - 128)
                {
                case 0:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p1 inputParameter = new _p1();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p2 _outputParameter_ = new _p2();

                            int Return;

                            Return = Value.add(inputParameter.left, inputParameter.right);
                            _outputParameter_.Return = Return;
                            sender.Push(_c0, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 1:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p4 outputParameter = new _p4();

                            Value.addAsynchronous(inputParameter.left, inputParameter.right, sender.GetCallback <_p4, AutoCSer.TestCase.TcpServerPerformance.Add>(_c1, ref outputParameter));
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 2:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p4 _outputParameter_ = new _p4();

                            AutoCSer.TestCase.TcpServerPerformance.Add Return;

                            Return = Value.addSynchronous(inputParameter.left, inputParameter.right);
                            _outputParameter_.Return = Return;
                            sender.Push(_c2, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 3:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            (_s3 /**/.Pop() ?? new _s3()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.TcpQueue, ref inputParameter);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 4:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            (_s4 /**/.Pop() ?? new _s4()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.TcpTask, ref inputParameter);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 5:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            (_s5 /**/.Pop() ?? new _s5()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.Timeout, ref inputParameter);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                case 6:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            (_s6 /**/.Pop() ?? new _s6()).Set(sender, Value, AutoCSer.Net.TcpServer.ServerTaskType.ThreadPool, ref inputParameter);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.Log(error);
                    }
                    sender.Push(returnType);
                    return;

                default: return;
                }
            }
예제 #4
0
            /// <summary>
            /// 命令处理
            /// </summary>
            /// <param name="index">命令序号</param>
            /// <param name="sender">TCP 内部服务套接字数据发送</param>
            /// <param name="data">命令数据</param>
            public override void DoCommand(int index, AutoCSer.Net.TcpInternalServer.ServerSocketSender sender, ref SubArray <byte> data)
            {
                AutoCSer.Net.TcpServer.ReturnType returnType;
                switch (index - 128)
                {
                case 0:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p1 inputParameter = new _p1();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p2 outputParameter = new _p2();

                            Value.append(inputParameter.p0, sender.GetCallback <_p2, ulong>(_c0, ref outputParameter));
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.AddLog(error);
                    }
                    sender.Push(returnType);
                    return;

                case 1:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p3 inputParameter = new _p3();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p4 _outputParameter_ = new _p4();

                            bool Return;

                            Return = Value.verify(sender, inputParameter.p2, inputParameter.p3, inputParameter.p0, ref inputParameter.p1);
                            if (Return)
                            {
                                sender.SetVerifyMethod();
                            }

                            _outputParameter_.p0     = inputParameter.p1;
                            _outputParameter_.Return = Return;
                            sender.Push(_c1, ref _outputParameter_);
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.AddLog(error);
                    }
                    sender.Push(returnType);
                    return;

                case 2:
                    returnType = AutoCSer.Net.TcpServer.ReturnType.Unknown;
                    try
                    {
                        _p5 inputParameter = new _p5();
                        if (sender.DeSerialize(ref data, ref inputParameter))
                        {
                            _p6 outputParameter = new _p6();

                            Value.read(inputParameter.p0, inputParameter.p1, sender.GetCallback <_p6, AutoCSer.DiskBlock.ClientBuffer>(_c2, ref outputParameter));
                            return;
                        }
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerDeSerializeError;
                    }
                    catch (Exception error)
                    {
                        returnType = AutoCSer.Net.TcpServer.ReturnType.ServerException;
                        sender.AddLog(error);
                    }
                    sender.Push(returnType);
                    return;

                default: return;
                }
            }
예제 #5
0
        /// <summary>
        /// AJAX调用
        /// </summary>
        /// <param name="callIndex"></param>
        /// <param name="loader"></param>
        protected override void callAjax(int callIndex, fastCSharp.code.cSharp.ajax.loader loader)
        {
            switch (callIndex)
            {
            case 0:
            {
                fastCSharp.demo.chatWeb.ajax.pub view = fastCSharp.typePool <fastCSharp.demo.chatWeb.ajax.pub> .Pop() ?? new fastCSharp.demo.chatWeb.ajax.pub();

                _p0 parameter = new _p0();
                fastCSharp.net.tcp.http.response response = loader.Load(view, ref parameter, true);
                if (response != null)
                {
                    int responseIdentity = view.ResponseIdentity;
                    _a0 callback         = typePool <_a0> .Pop() ?? new _a0();

                    callback.Parameter = parameter;
                    view.CrawlTitle(parameter.link, callback.Get(view, response));
                }
            }
                return;

            case 1:
            {
                fastCSharp.demo.chatWeb.ajax.pub view = fastCSharp.typePool <fastCSharp.demo.chatWeb.ajax.pub> .Pop() ?? new fastCSharp.demo.chatWeb.ajax.pub();

                _p1 parameter = new _p1();
                fastCSharp.net.tcp.http.response response = loader.Load(view, ref parameter, true);
                if (response != null)
                {
                    int responseIdentity = view.ResponseIdentity;
                    try
                    {
                        parameter.Return = view.PasteImage(ref parameter.identity);
                    }
                    finally
                    {
                        if (responseIdentity == view.ResponseIdentity)
                        {
                            view.AjaxResponse(ref parameter, ref response);
                        }
                        else
                        {
                            view.AjaxResponse(ref response);
                        }
                    }
                }
            }
                return;

            case 2:
            {
                fastCSharp.demo.chatWeb.ajax.user view = fastCSharp.typePool <fastCSharp.demo.chatWeb.ajax.user> .Pop() ?? new fastCSharp.demo.chatWeb.ajax.user();

                _p2 parameter = new _p2();
                fastCSharp.net.tcp.http.response response = loader.Load(view, ref parameter, true);
                if (response != null)
                {
                    int responseIdentity = view.ResponseIdentity;
                    try
                    {
                        parameter.Return = view.Login(parameter.user, ref parameter.version);
                    }
                    finally
                    {
                        if (responseIdentity == view.ResponseIdentity)
                        {
                            view.AjaxResponse(ref parameter, ref response);
                        }
                        else
                        {
                            view.AjaxResponse(ref response);
                        }
                    }
                }
            }
                return;

            case 3:
            {
                fastCSharp.demo.chatWeb.ajax.user view = fastCSharp.typePool <fastCSharp.demo.chatWeb.ajax.user> .Pop() ?? new fastCSharp.demo.chatWeb.ajax.user();

                _p3 parameter = new _p3();
                fastCSharp.net.tcp.http.response response = loader.Load(view, ref parameter, true);
                if (response != null)
                {
                    int responseIdentity = view.ResponseIdentity;
                    try
                    {
                        view.Logout(parameter.user);
                    }
                    finally
                    {
                        view.AjaxResponse(ref response);
                    }
                }
            }
                return;

            case 4:
            {
                fastCSharp.demo.chatWeb.ajax.user view = fastCSharp.typePool <fastCSharp.demo.chatWeb.ajax.user> .Pop() ?? new fastCSharp.demo.chatWeb.ajax.user();

                _p4 parameter = new _p4();
                fastCSharp.net.tcp.http.response response = loader.Load(view, ref parameter, true);
                if (response != null)
                {
                    int responseIdentity = view.ResponseIdentity;
                    try
                    {
                        view.Send(parameter.user, parameter.message, parameter.users);
                    }
                    finally
                    {
                        view.AjaxResponse(ref response);
                    }
                }
            }
                return;

            case 5: loader.LoadView(fastCSharp.typePool <fastCSharp.demo.chatWeb.chat> .Pop() ?? new fastCSharp.demo.chatWeb.chat(), true); return;

            case 6: loader.LoadView(fastCSharp.typePool <fastCSharp.demo.chatWeb.poll> .Pop() ?? new fastCSharp.demo.chatWeb.poll(), true); return;

            case 8 - 1: pubError(loader); return;
            }
        }