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

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

為什么響應(yīng).重定向?qū)е耂ystem.Thread.ThreadAbortException?

為什么響應(yīng).重定向?qū)е耂ystem.Thread.ThreadAbortException?

C#
紅糖糍粑 2019-07-26 14:14:34
為什么響應(yīng).重定向?qū)е耂ystem.Thread.ThreadAbortException?當(dāng)我使用Response.重定向(.)要將表單重定向到新頁面,我將得到以下錯誤:類型‘System.Threading.ThreadAbortException’的第一次機(jī)會異常發(fā)生在mcorlib.dll中。類型‘System.Threading.ThreadAbortException’的異常發(fā)生在m336 lib.dll中,但未在用戶代碼中處理。我對此的理解是,錯誤是由Web服務(wù)器中止調(diào)用response.redirected頁面的其余部分引起的。我知道我可以在Response.Redirect這叫做endResponse。如果我將endResponse設(shè)置為True,我仍然會得到錯誤,但如果我將其設(shè)置為false,則不會。我很確定,盡管這意味著Web服務(wù)器正在運(yùn)行我重定向的頁面的其余部分。至少可以說這是沒有效率的。有更好的方法嗎?其他的東西Response.Redirect或者,是否有一種方法可以強(qiáng)制舊頁停止加載我無法獲得ThreadAbortException?
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

正確的模式是使用endResponse=false調(diào)用重定向重載,并調(diào)用IIS管道,一旦返回控制,它應(yīng)該直接進(jìn)入EndRequest階段:

Response.Redirect(url, false);Context.ApplicationInstance.CompleteRequest();

這篇博客文章ThomasMarquardt提供了其他詳細(xì)信息,包括如何處理在Application_Error處理程序中重定向的特殊情況。


查看完整回答
反對 回復(fù) 2019-07-27
?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗 獲得超9個贊


我知道我遲到了,但我只犯過這樣的錯誤Response.Redirect在一個Try...Catch封鎖。

永遠(yuǎn)不要做出回應(yīng),轉(zhuǎn)向嘗試.捕捉塊。這是不好的做法

編輯

在回應(yīng)@Kiquenet的評論時,我會這樣做,以替代將Response.Redirectinthetry.CATCH塊。

我會把這個方法/函數(shù)分成兩個步驟。

TRY.CATCH塊中的第一步執(zhí)行請求的操作,并設(shè)置一個“結(jié)果”值,以指示操作的成功或失敗。

在try.CATCH塊之外的第二步,根據(jù)“結(jié)果”值的不同,重定向(或不重定向)。

這段代碼很不完美,可能不應(yīng)該被復(fù)制,因為我還沒有測試過它。

public void btnLogin_Click(UserLoginViewModel model){
    bool ValidLogin = false; // this is our "result value"
    try
    {
        using (Context Db = new Context)
        {
            User User = new User();

            if (String.IsNullOrEmpty(model.EmailAddress))
                ValidLogin = false; // no email address was entered
            else
                User = Db.FirstOrDefault(x => x.EmailAddress == model.EmailAddress);

            if (User != null && User.PasswordHash == Hashing.CreateHash(model.Password))
                ValidLogin = true; // login succeeded
        }
    }
    catch (Exception ex)
    {
        throw ex; // something went wrong so throw an error
    }

    if (ValidLogin)
    {
        GenerateCookie(User);
        Response.Redirect("~/Members/Default.aspx");
    }
    else
    {
        // do something to indicate that the login failed.
    }}




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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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