第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NETMVC 404錯誤處理

ASP.NETMVC 404錯誤處理

呼喚遠方 2019-07-08 15:31:20
ASP.NETMVC 404錯誤處理我在ASP.NETMVC中404 http錯誤處理程序(RC 5)我仍然得到標(biāo)準(zhǔn)404錯誤頁面。我需要更改IIS中的某些內(nèi)容嗎?
查看完整描述

3 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

還有另一個解決辦法。

將ErrorController或靜態(tài)頁面添加到包含404錯誤信息的頁面中。

修改web.config(在控制器的情況下)。

<system.web>
    <customErrors mode="On" >
       <error statusCode="404" redirect="~/Errors/Error404" />
    </customErrors></system.web>

或者在靜態(tài)頁面的情況下

<system.web>
    <customErrors mode="On" >
        <error statusCode="404" redirect="~/Static404.html" />
    </customErrors></system.web>

這將處理錯過的路線和錯過的行動。


查看完整回答
反對 回復(fù) 2019-07-08
?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

馬可的反應(yīng)是最好的解決辦法。我需要控制我的錯誤處理,我的意思是真正控制它。當(dāng)然,我已經(jīng)稍微擴展了解決方案,并創(chuàng)建了一個完整的錯誤管理系統(tǒng)來管理一切。我也在其他博客上讀到過這個解決方案,它似乎被大多數(shù)高級開發(fā)人員所接受。

下面是我使用的最后代碼:

protected void Application_EndRequest()
    {
        if (Context.Response.StatusCode == 404)
        {
            var exception = Server.GetLastError();
            var httpException = exception as HttpException;
            Response.Clear();
            Server.ClearError();
            var routeData = new RouteData();
            routeData.Values["controller"] = "ErrorManager";
            routeData.Values["action"] = "Fire404Error";
            routeData.Values["exception"] = exception;
            Response.StatusCode = 500;

            if (httpException != null)
            {
                Response.StatusCode = httpException.GetHttpCode();
                switch (Response.StatusCode)
                {
                    case 404:
                        routeData.Values["action"] = "Fire404Error";
                        break;
                }
            }
            // Avoid IIS7 getting in the middle
            Response.TrySkipIisCustomErrors = true;
            IController errormanagerController = new ErrorManagerController();
            HttpContextWrapper wrapper = new HttpContextWrapper(Context);
            var rc = new RequestContext(wrapper, routeData);
            errormanagerController.Execute(rc);
        }
    }

在我的ErrorManagerController內(nèi)部:

        public void Fire404Error(HttpException exception)
    {
        //you can place any other error handling code here
        throw new PageNotFoundException("page or resource");
    }

現(xiàn)在,在我的操作中,我拋出了我創(chuàng)建的自定義異常。并且我的Controller是從我創(chuàng)建的自定義Controller類繼承的。創(chuàng)建自定義基本控制器是為了覆蓋錯誤處理。下面是我的定制BaseController類:

public class MyBasePageController : Controller{
    protected override void OnException(ExceptionContext filterContext)
    {
        filterContext.GetType();
        filterContext.ExceptionHandled = true;
        this.View("ErrorManager", filterContext).ExecuteResult(this.ControllerContext);
        base.OnException(filterContext);
    }}

上面代碼中的“ErrorManager”只是一個使用基于ExceptionContext的模型的視圖

我的解決方案工作完美,我能夠處理我的網(wǎng)站上的任何錯誤,并顯示基于任何異常類型的不同消息。


查看完整回答
反對 回復(fù) 2019-07-08
  • 3 回答
  • 0 關(guān)注
  • 363 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號