您目前已離線,請等候您的網際網路重新連線

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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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 網站]:附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 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 軟體更新標準術語的說明
MS07-040 序列化例外狀況

警告:本文為自動翻譯

內容

文章識別碼:942086 - 最後檢閱時間:03/26/2008 18:15:34 - 修訂: 2.0

Microsoft .NET Framework 2.0

  • kbmt kbpubtypekc kbqfe kbhotfixserver kbexpertiseadvanced KB942086 KbMtzh
意見反應
ute = "76500"; var Ctrl = ""; document.write("