Esempio n. 1
0
        /// <summary>
        /// Initializes the <see cref="CustomError" /> class.
        /// </summary>
        private CustomError()
        {
            siteErrors = new Dictionary <string, SiteErrors>();
            //Read the configuration nodes
            foreach (XmlNode node in Factory.GetConfigNodes("sitesErrors/site"))
            {
                var siteName       = XmlUtil.GetAttribute("name", node);
                var siteErrorsNode = XmlUtil.GetChildElement("errors", node);
                var defaultUrl     = XmlUtil.GetAttribute("defaultUrl", siteErrorsNode);

                var customError = new SiteErrors {
                    DefaultUrl = defaultUrl
                };
                foreach (XmlNode cItem in siteErrorsNode.ChildNodes)
                {
                    var statusCode = XmlUtil.GetAttribute("statusCode", cItem);
                    var url        = XmlUtil.GetAttribute("url", cItem);
                    customError.Errors.Add(new Error {
                        StatusCode = statusCode, Url = url
                    });
                }

                siteErrors.Add(siteName, customError);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the site errors.
        /// </summary>
        /// <param name="siteName">Name of the site.</param>
        /// <returns>Return site errors.</returns>
        public SiteErrors GetSiteErrors(string siteName)
        {
            if (siteErrors.ContainsKey(siteName))
            {
                return(siteErrors[siteName]);
            }

            return(SiteErrors.ConvertFrom(ConfigurationManager.GetSection("system.web/customErrors") as CustomErrorsSection));
        }
Esempio n. 3
0
        /// <summary>
        /// Converts from.
        /// </summary>
        /// <param name="customErrorsSection">The custom errors section.</param>
        /// <returns></returns>
        public static SiteErrors ConvertFrom(CustomErrorsSection customErrorsSection)
        {
            var customErrors = new SiteErrors {
                DefaultUrl = customErrorsSection.DefaultRedirect
            };

            foreach (var key in customErrorsSection.Errors.AllKeys)
            {
                customErrors.Errors.Add(new Error {
                    StatusCode = key, Url = customErrorsSection.Errors.Get(key).Redirect
                });
            }

            return(customErrors);
        }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GlobalExceptionHandler"/> class.
 /// </summary>
 /// <param name="statusErrors">The custom errors.</param>
 public GlobalExceptionHandler(SiteErrors statusErrors)
 {
     this.statusErrors = statusErrors;
 }
Esempio n. 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GlobalExceptionHandler"/> class.
 /// </summary>
 /// <param name="errorSection">The error section.</param>
 public GlobalExceptionHandler(CustomErrorsSection errorSection)
     : this(SiteErrors.ConvertFrom(errorSection))
 {
 }