コード例 #1
0
ファイル: HttpServer.cs プロジェクト: radtek/EE.Services.Pay
        /// <summary>
        /// 交给实现了处理接口的子类处理
        /// </summary>
        /// <param name="context">httpContext上下文</param>
        void Process(object context)
        {
            var httpContext = context as HttpListenerContext;
            var param       = new DistributeParam();

            try
            {
                param.context = httpContext;
                HttpDistributer.Distribute(param);
                param.response = new HttpResponse(httpContext);
                param.request  = new HttpRequest(httpContext);
                param.httpHandler.Process(param.request, param.response, param.result);
                if (!string.IsNullOrEmpty(param.result.Result))
                {
                    param.response.Write(param.result.Result);
                }
                param.response.Flush();
                param.response.Close();
            }
            catch (Exception ex)
            {
                //异常日志
                param.result.LogResult += ex.Message;
                param.result.Result     = null;
                //记录日志
                LogManager.GetCurrentClassLogger().Error(ex);
            }
            finally
            {
                //记录请求日志
                param.WriteLog();
            }
        }