public CustomError CreateCustomError(CustomErrorsRedirectType customErrorsRedirectType)
        {
            if (customErrorsRedirectType == CustomErrorsRedirectType.NoPage)
            {
                return null;
            }

            string formatString;

            switch (customErrorsRedirectType)
            {
                case CustomErrorsRedirectType.StaticErrorPage:
                    formatString = StaticPageFormatString;
                    break;
                case CustomErrorsRedirectType.MvcErrorPage:
                    formatString = MvcPageFormatString;
                    break;
                case CustomErrorsRedirectType.AspxErrorPage:
                    formatString = AspxPageFormatString;
                    break;
                default:
                    throw new ArgumentOutOfRangeException("customErrorsRedirectType");
            }

            var redirect = string.Format(formatString, _statusCode);

            return new CustomError(_statusCode, redirect);
        }
Пример #2
0
 public void ReadSection()
 {
     Mode = _customErrorsSection.Mode.FromSystemCustomErrorsMode();
     RedirectMode = _customErrorsSection.RedirectMode.FromSystemCustomErrorsRedirectMode();
     NotFoundErrorRedirect = _notFoundError.ParseCustomErrorsRedirectType(_customErrorsSection.Errors);
     ForbiddenErrorRedirect = _forbiddenError.ParseCustomErrorsRedirectType(_customErrorsSection.Errors);
     ServerErrorRedirect = _serverError.ParseCustomErrorsRedirectType(_customErrorsSection.Errors);
 }
Пример #3
0
        public void UpdateSection(
            CustomErrorsMode mode,
            CustomErrorsRedirectMode redirectMode,
            CustomErrorsRedirectType notFoundErrorRedirect,
            CustomErrorsRedirectType forbiddenErrorRedirect,
            CustomErrorsRedirectType serverErrorRedirect)
        {
            Mode = mode;
            RedirectMode = redirectMode;
            NotFoundErrorRedirect = notFoundErrorRedirect;
            ForbiddenErrorRedirect = forbiddenErrorRedirect;
            ServerErrorRedirect = serverErrorRedirect;

            _customErrorsSection.Mode = Mode.ToSystemCustomErrorsMode();
            _customErrorsSection.RedirectMode = RedirectMode.ToSystemCustomErrorsRedirectMode();

            SetCustomErrorsSectionErrors(
                _notFoundError.CreateCustomError(NotFoundErrorRedirect),
                _forbiddenError.CreateCustomError(ForbiddenErrorRedirect),
                _serverError.CreateCustomError(ServerErrorRedirect));
        }