亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何崩潰應用程序池?

如何崩潰應用程序池?

皈依舞 2019-11-20 14:08:56
我們的ASP.NET 2 Web應用程序非常優雅地處理異常。我們在Application_Error中捕獲Global ASAX中的異常。從那里,我們記錄異常和我們展示了一個友好的信息給用戶。但是,今天早上,我們部署了網站的最新版本。運行了半個小時,但隨后應用程序池崩潰了。在我們還原了以前的版本之前,該站點沒有恢復。如何使應用程序池崩潰并跳過普通的異常處理程序?我正在嘗試復制此問題,但到目前為止還沒有運氣。更新:我們找到了解決方案。我們的其中一頁正在抓屏另一頁。但是該URL配置不正確,并且頁面最終無限地對其自身進行了屏幕抓取,從而導致了堆棧溢出異常。
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

我看到的最常見的錯誤和“池崩潰”是循環調用。


public string sMyText

{

   get {return sMyText;}

   set {sMyText = value;}

只需調用sMyText ...



查看完整回答
反對 回復 2019-11-20
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

為了做到這一點,您需要做的就是從請求的上下文外部拋出任何異常(當然不處理它)。


例如,在另一個線程上引發的某些異常應該做到這一點:


protected void Page_Load(object sender, EventArgs e)

{

   // Create a thread to throw an exception

   var thread = new Thread(() => { throw new ArgumentException(); });


   // Start the thread to throw the exception

   thread.Start();


   // Wait a short while to give the thread time to start and throw

   Thread.Sleep(50);

}

可以在MS知識庫中找到更多信息。


查看完整回答
反對 回復 2019-11-20
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

亞里士多德的回答是好的。當有人在不更改基調用的情況下將重寫方法從OnInit更改為OnLoad時,也曾在頁面生命周期中使用愚蠢的重寫來完成此操作,因此它在整個生命周期中都會循環出現:即


protected override void OnLoad(EventArgs e)

{

  //some other most likely rubbish code

  base.OnInit(e);

}


查看完整回答
反對 回復 2019-11-20
  • 3 回答
  • 0 關注
  • 506 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號