/// <summary>
 /// Sharad 20 Oct 2012: For AJAX requests, the yellow screen is unreadable. This attribute returns exception content instead of the HTML content of the yellow screen.
 /// Also raises error event
 /// </summary>
 /// <remarks>
 /// <code>
 /// <![CDATA[
 /// $.ajax({
 ///
 ///   error: function(
 ///
 /// });
 ///
 ///
 ///
 /// ]]>
 /// </code>
 /// </remarks>
 protected override void OnException(ExceptionContext filterContext)
 {
     if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest() && !filterContext.ExceptionHandled)
     {
         filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         filterContext.Result = new ContentResult {
             Content = filterContext.Exception.Message
         };
         filterContext.ExceptionHandled = true;
         // Sharad 24 Mar 2014: Logging the exception
         this.HttpContext.Trace.Warn("AjaxException", "Exception encountered in AJAX request", filterContext.Exception);
     }
     else
     {
         // Default handling
         base.OnException(filterContext);
     }
     if (filterContext.ExceptionHandled)
     {
         // Log exceptions which occurred but were internally handled, such as our AJAX request exception
         var ev = new MvcErrorEvent("EclipseController.OnException log of handled exception", this, filterContext.Exception);
         ev.Raise();
     }
 }
 /// <summary>
 /// Sharad 20 Oct 2012: For AJAX requests, the yellow screen is unreadable. This attribute returns exception content instead of the HTML content of the yellow screen.
 /// Also raises error event
 /// </summary>
 /// <remarks>
 /// <code>
 /// <![CDATA[
 /// $.ajax({
 /// 
 ///   error: function(
 /// 
 /// });
 /// 
 /// 
 /// 
 /// ]]>
 /// </code>
 /// </remarks>
 protected override void OnException(ExceptionContext filterContext)
 {
     if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest() && !filterContext.ExceptionHandled)
     {
         filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         filterContext.Result = new ContentResult { Content = filterContext.Exception.Message };
         filterContext.ExceptionHandled = true;
         // Sharad 24 Mar 2014: Logging the exception
         this.HttpContext.Trace.Warn("AjaxException", "Exception encountered in AJAX request", filterContext.Exception);
     }
     else
     {
         // Default handling
         base.OnException(filterContext);
     }
     if (filterContext.ExceptionHandled)
     {
         // Log exceptions which occurred but were internally handled, such as our AJAX request exception
         var ev = new MvcErrorEvent("EclipseController.OnException log of handled exception", this, filterContext.Exception);
         ev.Raise();
     }
 }