FIX: 錯誤訊息,當您執行 ASP.NET 2.0 Web 應用程式,建置在.NET Framework 2.0: 要還原序列化的型別 '< 自訂物件 >' 物件的建構函式未找到"

文章翻譯 文章翻譯
文章編號: 942086 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

考慮下列案例。您安裝 MS07-040 更新。您執行 Microsoft ASP.NET 2.0 Web 應用程式,建置在 Microsoft.NET Framework 2.0。在這種情況下您可能會收到類似下列的例外狀況錯誤訊息:
例外狀況物件: 026e3ce4
例外狀況型別: System.Runtime.Serialization.Serialization
例外狀況訊息: 找不到要還原序列化的型別 '< 自訂物件 >' 物件的建構函式。
InnerException: <none>
StackTrace (產生):
會出現在錯誤訊息的堆疊追蹤類似下列:
    SP       IP       Function
    00000000 00000001 System.Web.Hosting.ApplicationManager.RespondToPingIfNeeded()
    05BFF168 660D7ACD System.Web.Hosting.HostingEnvironment.RespondToPingButNotTooOften()
    05BFF1AC 660D796B System.Web.Hosting.HostingEnvironment.DecrementBusyCountInternal()
    05BFF1BC 6600F404 System.Web.HttpRuntime.FinishRequest(System.Web.HttpWorkerRequest, System.Web.HttpContext, System.Exception)
    05BFF204 6600FADB System.Web.HttpRuntime.OnHandlerCompletion(System.IAsyncResult)
    05BFF234 65FF4FED System.Web.HttpAsyncResult.Complete(Boolean, System.Object, System.Exception, System.Web.RequestNotificationStatus)
    05BFF24C 65FD3404 System.Web.HttpApplication+ApplicationStepManager.ResumeSteps(System.Exception)
    05BFF29C 65FF0BDA System.Web.HttpApplication.ResumeStepsFromThreadPoolThread(System.Exception)
    05BFF2A8 65FF2204 System.Web.HttpApplication+AsyncEventExecutionStep.ResumeStepsWithAssert(System.Exception)
    05BFF2BC 6632DC55 System.Web.HttpApplication+AsyncEventExecutionStep.OnAsyncEventCompletion(System.IAsyncResult)
    05BFF2EC 65FF4FED System.Web.HttpAsyncResult.Complete(Boolean, System.Object, System.Exception, System.Web.RequestNotificationStatus)
    05BFF304 6612A7EA System.Web.SessionState.SessionStateModule.PollLockedSessionCallback(System.Object)


此外,您可能會收到一個 System.NullReferenceException 例外狀況從 System.Web.SessionState.SessionStateModule.PollLockedSessionCallback 方法。應用程式事件日誌會記錄下列資訊:

事件識別碼: 5000:
EventType clr20r3,P1 aspnet_wp.exe P2 2.0.50727.832,P3 461ef1db P4 system.web P5 2.0.0.0,P6 461ef1d2 P7 297 c P8 8 d,P9 system.nullreferenceexception P10 NIL。
事件識別碼: 1000年
aspnet_wp.exe (PID: 5240) 意外停止。

System.NullReferenceException
物件參考未設定至物件的執行個體

在 System.Web.SessionState.SessionStateModule.PollLockedSessionCallback (物件狀態)
在 system.threading._TimerCallback.TimerCallback_Context (物件狀態)
在 system.threading.ExecutionContext.runTryCode (物件 userData)
在 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup TryCode 程式碼、 CleanupCode backoutCode (物件 userData)
在 system.threading.ExecutionContext.RunInternal ExecutionContext executionContext、 ContextCallback 回呼 (物件狀態)
在 system.threading.ExecutionContext.run ExecutionContext executionContext、 ContextCallback 回呼 (物件狀態)
在 system.threading._TimerCallback.PerformTimerCallback (物件狀態)

發生的原因

安裝 MS07-040 更新之後,全域計數器被實作應用程式定義域中。應用程式定義域是分開目前的應用程式定義域。HttpWorkerRequest.EndOfRequest 方法稱為之後的全域計數器實作時間減少。跨應用程式網域] 呼叫期間應該序列化目前 Thread.CurrentPrincipal 屬性。如果應用程式所使用的不是可序列化的自訂 UserPrincipal 類別應用程式無法序列化目前 Thread.CurrentPrincipal 屬性。因此,應用程式會擲回的例外狀況。

解決方案

Hotfix 資訊

一個支援的 Hotfix 現在已可從 Microsoft取得。不過,它只修正本文中所述此問題。請只在發生此特定問題的系統上套用。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個的.NET Framework 2.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,請聯絡 Microsoft 客戶支援服務 」,以取得該 Hotfix。如需 Microsoft 客戶支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support
附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

必要條件

您必須有安裝若要套用此 Hotfix 的.NET Framework 2.0。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。
x86 版.NET Framework 2.0
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Aspnet_wp.exe2.0.50727.92632,6002007 年九月 01 日03: 29x86
System.Web.dll2.0.50727.9265,160,9602007 年九月 01 日03: 30x86
Webengine.dll2.0.50727.926406,5282007 年九月 01 日03: 29x86
x x64 版.NET Framework 2.0
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Aspnet_wp.exe2.0.50727.92644,3762007 年八月 31 日22: 57x64
Aspnet_wp.exe2.0.50727.92632,6002007 年九月 01 日03: 29x86
System.Web.dll2.0.50727.9265,091,3282007 年八月 31 日22: 57x64
System.Web.dll2.0.50727.9265,160,9602007 年九月 01 日03: 30x86
Webengine.dll2.0.50727.926710,1442007 年八月 31 日19: 24x64
Webengine.dll2.0.50727.926406,5282007 年九月 01 日03: 29x86
.NET Framework 2.0 Itanium 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Aspnet_wp.exe2.0.50727.92683,2882007 年八月 31 日22: 58IA 64
Aspnet_wp.exe2.0.50727.92632,6002007 年九月 01 日03: 29x86
System.Web.dll2.0.50727.9264,714,4962007 年八月 31 日22: 58IA 64
System.Web.dll2.0.50727.9265,160,9602007 年九月 01 日03: 30x86
Webengine.dll2.0.50727.9261,182,2082007 年八月 31 日19: 30IA 64
Webengine.dll2.0.50727.926406,5282007 年九月 01 日03: 29x86

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需有關 MS07-040 更新的請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項的:
931212MS07-040: 在.NET Framework 中的弱點可能允許遠端執行程式碼
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 942086 - 上次校閱: 2008年3月26日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
關鍵字:?
kbmt kbpubtypekc kbqfe kbhotfixserver kbexpertiseadvanced KB942086 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:942086
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com