文章編號: 917069 - 上次校閱: 2007年12月5日 - 版次: 3.3 如果要求逾時,應用程式會叫用的同處理序 COM + 元件時,ASP.NET 應用程式可能會遇到延遲
在此頁中徵狀考慮下列案例。Microsoft ASP.NET 應用程式叫用同處理序 Microsoft COM + 元件。要求逾時在精確的時間某些作業發生在 COM + 元件。在這種情況下 COM + 執行階段可能會向 Windows 錯誤報告子系統報告錯誤。 接著,Windows 錯誤報告可能採取的動作,可以在應用程式中導致額外的延遲和複合基礎問題。當您在 「 事件檢視器 」 中檢視系統記錄檔時,您可能會注意到類似下列的事件: COM + 事件識別碼: 4768 發生的原因在超過針對 ASP.NET 要求逾時臨界值時,就會發生這個問題。 ASP.NET 執行階段會藉由擲回 ThreadAbortException 例外狀況,以處理要求的執行緒停止要求。 如果 ASP.NET 要求叫用的同處理序 COM + 元件,和如果其中一種 IObjectControl 方法元件的執行一次 ThreadAbortException 例外狀況的 COM + 執行階段將攔截的例外狀況,並回報給 Windows 錯誤報告的錯誤。然後,Windows 錯誤報告可能會建立事件記錄檔項目,並與錯誤報告的伺服器通訊。當就會發生這個問題在執行 ASP.NET 要求的執行緒會封鎖,並回應延遲。Windows 錯誤報告也可能會建立傾印檔案的程序。就會發生這個問題時凍結程序,並延遲的所有回應。裝載同處理序 (程式庫) COM + 應用程式的處理程序不會終止時,就會發生這些錯誤。此外,週期可能會在後續的逾時期間重複,並導致額外的延遲。 附註< 其他相關資訊 > 一節中的範例使用 Microsoft.NET Framework ServicedComponent 類別。不過,如果應用程式使用不受管理的 COM + 元件,就會發生相同的問題。 解決方案若要解決這個問題,避免 ASP.NET 逾時。 如果 ASP.NET 要求都不應該超過逾時閾值,調查並解決基礎延遲的來源。 下列方法可以是有效的工具,來探索基礎延遲的來源:
其他可行方案如果要解決這個問題,您可以從同處理序 (程式庫) 應用程式逾時的處理 (伺服器) 應用程式來變更 COM + 應用程式。在伺服器應用程式中 COM + 元件在不同的處理序中執行從 ASP.NET 要求。因此,COM + 執行階段不會偵測一個 ThreadAbortException 例外狀況,例外狀況不報告給 Windows 錯誤報告子系統。 狀況說明Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。 如果要重現問題的步驟
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:917069?
(http://support.microsoft.com/kb/917069/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


回此頁最上方
