/// <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(); } }