使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

狀況

假設您已經在您的電腦上升級到 Microsoft.NET Framework 4.6。當您使用的應用程式傳送 XML SOAP 訊息中使用 Windows 通訊架構 (WCF) 時,編碼方式可能要花久一點。在某些情況下,這可能會影響伺服器應用程式可以處理要求的速率。

原因

之所以發生這個問題,是因為新的 Just-In-Time (JIT) 編譯器,名為 RyuJIT。此編譯器會使用不同的最佳化,比傳統的 JIT64 編譯器。XmlDictionaryWriter中的字串的編碼方式作用的程式碼路徑上的方法不適合新的 JIT 編譯器產生的原生指令的執行速度變慢和長的編碼方式。當 SOAP 訊息包含大量要編碼的字串時,此速度較慢的程式碼會更常被用,而且可能會影響編碼的時間。

解決方案

若要解決這個問題,請設定應用程式,停用使用 ngen System.Runtime.Serialization.dll 組件,並在使用傳統的 JIT 引擎。若要這樣做,請使用下列其中一種方法:

  • 設定下列環境變數︰

    COMPLUS_useLegacyJit=1
    COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • 在登錄中,建立下列子機碼其中一種方法︰

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework

    然後,新增下列值︰

    • 機碼名稱︰ useLegacyJit
      型別︰ REG_WORD
      值︰ 1

    • 機碼名稱︰ DisableNativeImageLoadList
      型別︰ REG_SZ
      值︰ System.Runtime.Serialization

  • 將下列文字新增到 < 應用程式 >。.exe.config 檔案。如果尚未存在,請建立指定的區段。<configuration> <runtime>
    <useLegacyJit enabled="1">
    <disableNativeImageLoad>
    <assemblyIdentity name="System.Runtime.Serialization" />
    </disableNativeImageLoad>
    </runtime>
    </configuration>



如需有關已知問題,在.NET Framework 表 4.6] 的詳細資訊,請參閱已知.NET Framework 表 4.6] 的問題

更多的資訊

如需有關產品的版本控制變更,其效果,在.NET Framework 表 4.6] 的詳細資訊,請參閱在.NET Framework 表 4.6] 的應用程式相容性

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×