修正: String.IndexOf 方法採用較長的時間比預期要完成,和。NET Framework 4.0 效能會大幅減少

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

在此頁中

徵狀

請考慮下列情況:
  • Microsoft 的目標執行應用程式。Net 4.0。
  • 應用程式呼叫,String.IndexOf報告字串中的子字串的第一個相符項目的索引的方法。
  • 字串包含子字串的執行個體數目。

在此的情況下花費時間超過預期執行,String.IndexOf方法。因此,應用程式的效能會大幅減少。

附註這個效能問題時,應用程式為目標的較早的版本不會發生在。NET Framework。

解決方案

Hotfix 資訊

現在可以從 Microsoft 取得支援的 hotfix。但是,它被用來修正本文中所述之問題。只套用發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果您不會嚴重受到這個問題,我們建議您等候下一個包含此 hotfix 的 service pack。

若要立即解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。一個有完整的 「 Microsoft 客戶支援服務電話號碼以及支援費用的資訊清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註在特殊的情況下如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題,可能就收取一般會因支援電話所產生的費用。收取支援費用會套用到其他支援問題和特定的更新程式有問題無法解決的問題。

必要條件

若要在套用這個 hotfix,您必須在 Microsoft。NET Framework 4.0 安裝。

安裝資訊

因為需要重新編譯的。NET 架構 4.0 組件至原生程式碼,此 hotfix 的安裝可能需要花較長的時間比預期要完成的。當發生這種情況時,您可以看到工作管理員] 中執行 CLR 最佳化伺服器 (Mscorsvw.exe)。

重新啟動資訊

您可能必須套用此 hotfix 之後重新啟動電腦。我們建議您結束 Microsoft Visual Studio 和所有。NET Framework 應用程式,然後您套用此 hotfix。

Hotfix 取代資訊

此 hotfix 不會取代先前發行的 hotfix。

檔案資訊

此 hotfix 的英文 (美國) 版本安裝檔案具有下列表格中所列的屬性。日期和時間,這些檔案會列出在國際標準時間 (UTC)。以您當地的時間和目前的日光節約時間 (DST) 的時差來顯示日期] 和 [本機電腦上這些檔案的時間。此外,日期和時間可能會變更當您執行特定作業時該檔案。
所有支援 x86 版的 Windows XP、 Windows Server 2003 的 Windows vista、 Windows Server 2008,及 Windows 7
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Clr.dll4.0.30319.4046,732,10415-年 12 月-201023: 51x86
Mscordacwks.dll4.0.30319.4041,141,59215-年 12 月-201023: 51x86
Mscordbi.dll4.0.30319.404955,21615-年 12 月-201023: 51x86
識別4.0.30319.4045,196,11215-年 12 月-201023: 51x86
Nlssorting.dll4.0.30319.40456,14415-年 12 月-201023: 51x86
Sos.dll4.0.30319.404516,93615-年 12 月-201023: 51x86

所有支援 x64 版的 Windows XP、 Windows Server 2003、 Windows vista、 Windows Server 2008 的、 Windows 7,及 Windows Server 2008 R2
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Clr.dll4.0.30319.4049,798,98416-年 12 月-201000: 40x64
Mscordacwks.dll4.0.30319.4041,513,30416-年 12 月-201000: 40x64
Mscordbi.dll4.0.30319.4041,453,39216-年 12 月-201000: 40x64
識別4.0.30319.4044,960,08016-年 12 月-201000: 40x64
Nlssorting.dll4.0.30319.40467,40816-年 12 月-201000: 40x64
Sos.dll4.0.30319.404597,83216-年 12 月-201000: 40x64

所有支援 IA x64 型版本的 Windows Server 2003、 Windows Server 2008,及 Windows Server 2008 R2
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Clr.dll4.0.30319.40419,382,08816-年 12 月-201001: 31IA-64
Mscordacwks.dll4.0.30319.4043,755,86416-年 12 月-201001: 31IA-64
Mscordbi.dll4.0.30319.4043,293,52016-年 12 月-201001: 31IA-64
識別4.0.30319.4044,448,08016-年 12 月-201001: 31IA-64
Nlssorting.dll4.0.30319.404143,18416-年 12 月-201001: 31IA-64
Sos.dll4.0.30319.4041,203,01616-年 12 月-201001: 31IA-64



其他可行方案

解決效能問題的替代使用StringComparison.Ordinal當應用程式呼叫的參數值,String.IndexOf方法。

狀況說明

Microsoft 已確認這是適用於 」 一節所列的 Microsoft 產品中的問題。

其他相關資訊

如需有關軟體更新術語的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 2467309 - 上次校閱: 2011年2月10日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 4.0
關鍵字:?
kbexpertiseinter kbprb kbsurveynew kbfix kbbug kbqfe kbhotfixserver kbmt KB2467309 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2467309
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