/// <summary>
        ///     Report exception through codeRR
        /// </summary>
        /// <param name="httpContext">httpContext used to report exception (used to be able to collect context data)</param>
        /// <param name="exception">exception to report</param>
        /// <param name="contextData">extra context data</param>
        /// <returns>sent report (can be used for instance for <c>Err.LeaveFeedback</c>)</returns>
        public static ErrorReportDTO ReportException(this HttpContextBase httpContext, Exception exception,
                                                     object contextData)
        {
            var converter  = new ObjectToContextCollectionConverter();
            var collection = converter.Convert(contextData);

            return(ErrorHttpModule.ExecutePipeline(httpContext, exception, httpContext, collection));
        }
Ejemplo n.º 2
0
 /// <summary>
 ///     Activate our automatic detection of unhandled exceptions.
 /// </summary>
 /// <param name="configurator">config class</param>
 /// <remarks>
 ///     <para>Adds context collectecors for forms, query string, sessions, user agent and http headers.</para>
 ///     <para>
 ///         MVC exceptions are dected through a custom global error filter.
 ///     </para>
 /// </remarks>
 public static void CatchMvcExceptions(this OneTrueConfiguration configurator)
 {
     configurator.ContextProviders.Add(new FormProvider());
     configurator.ContextProviders.Add(new QueryStringProvider());
     configurator.ContextProviders.Add(new SessionProvider());
     configurator.ContextProviders.Add(new HttpHeadersProvider());
     GlobalFilters.Filters.Add(new OneTrueErrorFilter());
     ErrorHttpModule.Activate();
 }
        /// <summary>
        ///     Activate our automatic detection of unhandled exceptions.
        /// </summary>
        /// <param name="configurator">configuration class</param>
        /// <remarks>
        ///     <para>Adds context collectors for forms, query string, sessions, user agent and http headers.</para>
        ///     <para>
        ///         MVC exceptions are detected through a custom global error filter.
        ///     </para>
        /// </remarks>
        public static void CatchMvcExceptions(this CoderrConfiguration configurator)
        {
            configurator.ContextProviders.Add(new FormProvider());
            configurator.ContextProviders.Add(new FileProvider());
            configurator.ContextProviders.Add(new QueryStringProvider());
            configurator.ContextProviders.Add(new SessionProvider());
            configurator.ContextProviders.Add(new HttpHeadersProvider());
            configurator.ContextProviders.Add(new HttpApplicationItemsProvider());

            configurator.ContextProviders.Add(new ViewDataProvider());
            configurator.ContextProviders.Add(new ViewBagProvider());
            configurator.ContextProviders.Add(new RouteDataProvider());
            configurator.ContextProviders.Add(new TempDataProvider());
            configurator.ContextProviders.Add(new ModelStateProvider());
            configurator.ContextProviders.Add(new ModelProvider());


            GlobalFilters.Filters.Add(new CoderrFilter());
            ErrorHttpModule.Activate();
        }
 /// <summary>
 ///     Report exception through codeRR
 /// </summary>
 /// <param name="httpContext">httpContext used to report exception (used to be able to collect context data)</param>
 /// <param name="exception">exception to report</param>
 /// <returns>sent report (can be used for instance for <c>Err.LeaveFeedback</c>)</returns>
 public static ErrorReportDTO ReportException(this HttpContextBase httpContext, Exception exception)
 {
     return(ErrorHttpModule.ExecutePipeline(httpContext, exception, httpContext));
 }
 /// <summary>
 ///     Report exception through codeRR
 /// </summary>
 /// <param name="httpContext">httpContext used to report exception (used to be able to collect context data)</param>
 /// <param name="exception">exception to report</param>
 /// <param name="contextData">extra collections</param>
 /// <returns>sent report (can be used for instance for <c>Err.LeaveFeedback</c>)</returns>
 public static ErrorReportDTO ReportException(this HttpContextBase httpContext, Exception exception,
                                              IEnumerable <ContextCollectionDTO> contextData)
 {
     return(ErrorHttpModule.ExecutePipeline(httpContext, exception, httpContext, contextData.ToArray()));
 }