public static WebProtocolException ToWebProtocolException(this Exception ex) { ex.AddDbgMsg("Exception converted to WebProtocolException."); ex.Trace(); Reason reason = new Reason { Message = ex.ToUserString(), Code = ex.GetErrorCode() }; ErrorEntity errorEntity = new ErrorEntity { Reason = reason }; HttpStatusCode statusCode = ex.GetStatusCode(); if (WebOperationContext.Current != null && WebOperationContext.Current.OutgoingResponse != null) { // -- if comes from web WebOperationContext.Current.OutgoingResponse.ContentType = Utils.FaultContentType; WebOperationContext.Current.OutgoingResponse.StatusCode = statusCode; } WebProtocolException webProtocolException = new WebProtocolException(statusCode, ex.ToUserString(), errorEntity, ex, true); return(webProtocolException); }
protected void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (null == ex) { return; } System.Threading.ThreadAbortException threadAbortException = ex as System.Threading.ThreadAbortException; if (null != threadAbortException) { return; } string requestUrl = HttpContext.Current.Request.Url.ToString(); ex.AddDbgMsg("Request = {0}", requestUrl); if (ex.Message == "File does not exist." && requestUrl.Contains("CmgGeneralConfig.svc")) { // Suppress errors from configuration services to avoid main log pollution Tracer.Trace("Suppressed exception from configuration services: " + ex.ToDebugString()); ex.Swallow(); } else { ex.Trace(); } Server.ClearError(); }