BVNetwork.NotFound.Core.NotFoundPage.NotFoundPageUtil.GetStatusCode C# (CSharp) Method

GetStatusCode() public static method

public static GetStatusCode ( System.Web.HttpRequestBase request ) : int
request System.Web.HttpRequestBase
return int
        public static int GetStatusCode(HttpRequestBase request)
        {
            int code = 404;
            string queryString = GetQueryString(request);
            if (!string.IsNullOrEmpty(queryString))
            {
                Regex regex = new Regex(@"(?:[0-9]{3}\;)");
                Match match = regex.Match(queryString);
                if (match.Success)
                {
                    string[] queryStrings = queryString.Split(';');
                    if (queryStrings.Length > 0)
                    {
                        if (int.TryParse(queryStrings[0], out code))
                            return code;
                    }
                }
            }
            return code;
        }

Usage Example

Esempio n. 1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (PageEditing.PageIsInEditMode)
            {
                return;
            }

            Logger.Debug("Starting 404 handler action filter");
            var request = filterContext.HttpContext.Request;

            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
            var statusCode = NotFoundPageUtil.GetStatusCode(request);

            filterContext.HttpContext.Response.StatusCode = statusCode;
            var status = NotFoundPageUtil.GetStatus(statusCode);

            if (!string.IsNullOrEmpty(status))
            {
                filterContext.HttpContext.Response.Status = status;
            }
            NotFoundPageUtil.SetCurrentLanguage(filterContext.HttpContext);
            filterContext.Controller.ViewBag.Referrer    = NotFoundPageUtil.GetReferer(request);
            filterContext.Controller.ViewBag.NotFoundUrl = NotFoundPageUtil.GetUrlNotFound(request);
            filterContext.Controller.ViewBag.StatusCode  = statusCode;
        }