Inheritance: System.EventArgs
コード例 #1
0
        void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)
        {
            if (args.Entry.Error.Exception is HandledElmahException)
                return;

            var config = WebConfigurationManager.OpenWebConfiguration("~");
            var customErrorsSection = (CustomErrorsSection)config.GetSection("system.web/customErrors");

            if (customErrorsSection != null)
            {
                switch (customErrorsSection.Mode)
                {
                    case CustomErrorsMode.Off:
                        break;
                    case CustomErrorsMode.On:
                        FriendlyErrorTransfer(args.Entry.Id, customErrorsSection.DefaultRedirect);
                        break;
                    case CustomErrorsMode.RemoteOnly:
                        if (!HttpContext.Current.Request.IsLocal)
                            FriendlyErrorTransfer(args.Entry.Id, customErrorsSection.DefaultRedirect);
                        break;
                    default:
                        break;
                }
            }
        }
コード例 #2
0
ファイル: ErrorLogModule.cs プロジェクト: AdventureTech/elmah
        /// <summary>
        /// Raises the <see cref="Logged"/> event.
        /// </summary>

        protected virtual void OnLogged(ErrorLoggedEventArgs args)
        {
            ErrorLoggedEventHandler handler = Logged;

            if (handler != null)
            {
                handler(this, args);
            }
        }
コード例 #3
0
ファイル: ElmahErrorHandling.cs プロジェクト: kiszu/ForBlog
        /// <summary>
        /// Process errors caught in Global.asax
        /// <para>should be inside protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)</para>
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        /// <returns>null if no custom error should be displayed or a link if redirect is required to the specific location</returns>
        public static string ProcessError(object sender, ErrorLoggedEventArgs args)
        {
            if (customErrorsSection != null)
            {
                switch (customErrorsSection.Mode)
                {
                    case CustomErrorsMode.Off:
                        break;
                    case CustomErrorsMode.On:
                        return customErrorsSection.DefaultRedirect + "?id=" + args.Entry.Id;
                    case CustomErrorsMode.RemoteOnly:
                        if (!HttpContext.Current.Request.IsLocal)
                            return customErrorsSection.DefaultRedirect + "?id=" + args.Entry.Id;
                        break;
                }
            }

            return null;
        }
コード例 #4
0
ファイル: ErrorLogModule.cs プロジェクト: jaysilk84/ELMAH
        /// <summary>
        /// Raises the <see cref="Logged"/> event.
        /// </summary>
        protected virtual void OnLogged(ErrorLoggedEventArgs args)
        {
            ErrorLoggedEventHandler handler = Logged;

            if (handler != null)
                handler(this, args);
        }
コード例 #5
0
ファイル: Global.asax.cs プロジェクト: vanutama/bvcms
 public void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)
 {
     HttpContext.Current.Items["error"] = args.Entry.Error.Exception.Message;
 }
コード例 #6
0
ファイル: Global.asax.cs プロジェクト: kiszu/ForBlog
        //protected void Application_Error(object sender, EventArgs e)
        //{
        //    ErrorSignal.FromCurrentContext().Raise(Server.GetLastError());
        //}  

        protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)
        {
            var result = ElmahErrorHandling.ProcessError(sender, args);
            if (!string.IsNullOrEmpty(result))
                Response.Redirect(result);
        }