Пример #1
0
        internal void InvokeAction()
        {
            var result = AreaCollection.Invoke(this, this.Request.URL, this.Request.Params, this.Request.Method == "POST");

            if (!(result is EmptyResult))
            {
                this.Response.SetResult(result);
            }
            this.Response.End();
        }
Пример #2
0
        public HttpContext(HttpRequest request)
        {
            this.Request = request;

            var response = HttpResponse.CreateInstance(this.Request.HttpServer, this.Request.UserToken);

            this.Response = response;

            var result = AreaCollection.Invoke(this, request.URL, request.Params, this.Request.Method == "POST");

            if (!(result is EmptyResult))
            {
                HttpResponse.SetResult(response, result);
            }
        }
Пример #3
0
        /// <summary>
        /// 执行用户自定义要处理的业务逻辑
        /// 比如这里就是Controller中内容
        /// </summary>
        internal void HttpHandler()
        {
            ActionResult result = null;

            switch (this.Request.Method)
            {
            case ConstString.GETStr:
            case ConstString.POSTStr:

                if (this.Request.Parmas == null)
                {
                    this.Request.Parmas = new System.Collections.Generic.Dictionary <string, string>();
                }

                if (this.Request.Query != null && this.Request.Query.Count > 0)
                {
                    foreach (var item in this.Request.Query)
                    {
                        this.Request.Parmas.TryAdd(item.Key, item.Value);
                    }
                }
                if (this.Request.Forms != null && this.Request.Forms.Count > 0)
                {
                    foreach (var item in this.Request.Forms)
                    {
                        this.Request.Parmas.TryAdd(item.Key, item.Value);
                    }
                }
                result = AreaCollection.Invoke(this, this.Request.Url, this.Request.Parmas.ToNameValueCollection(), this.Request.Method == "POST");
                break;

            case ConstString.OPTIONSStr:
                result = new EmptyResult();
                break;

            default:
                result = new ContentResult("不支持的请求方式", System.Net.HttpStatusCode.NotImplemented);
                break;
            }
            if (!(result is EmptyResult))
            {
                this.Response.SetResult(result);
            }
            this.Response.End();
        }