文章編號: 952883 - 上次校閱: 2010年8月4日 - 版次: 1.0

FIX: 的傳回型別或 out 引數,包括有內部的 setter 的屬性的 ASMX 服務方法的無法序列化上已安裝的.NET Framework 的電腦

可以下載 Hotfix下載 Hotfix
檢視和要求下載 hotfix
系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

考慮下列案例。 您必須有 Microsoft.NET Framework 2.0 的 Service Pack 2 (SP2) 的電腦,或.NET Framework 3.5 SP1 安裝。 使用包含一的屬性的 ASMX 服務方法和屬性有內部的 setter。 序列化可能會失敗。 這個問題會發生在類似下列的案例:
  • 公用型別 T 包含有公用的 getter 和內部的 setter 的公用屬性。 就例如來源的程式碼可能看起來像 下列。
    public class T
    {
                    …
                    public <Type> <Propertyname1> { get; internal set; }
                    …
    }
    
  • 至少一個 Web 服務方法傳回的物件 中 Web 服務傳回的型別或出引數輸入 T 或包含 T 在其物件圖形中的物件。 就例如來源的程式碼可能如下一個 下列的範例。
    • public T MyWebMethod(…)
      {
                      …
      }
      
    • public void MyWebMethod(…, out U)
      {
                      …
      }
      ...
      public Class U
      {
                      public T <Propertyname2>  { get; set; }
      }
  • T 型別或型別 U 不是使用在任何 Web 服務方法中為一個非逾時-僅的引數。

    附註如果方法有一個以上 out 引數,out 引數稱為非逾時-專用的引數。
  • 具有內部的 setter 屬性的型別不是列舉集合
  • 在.NET Framework 2.0 SP2 或.NET Framework 3.5 SP1 中,您套用您產生 Proxy 程式碼與先前所述的 Web 服務使用 Wsdl.exe 工具或 Visual Studio 加入 Web 參考] 功能。
  • 之後您部署 Web 服務與用戶端,套用.NET Framework 2.0 SP2 或.NET Framework 3.5 SP1。
在此的情況下傳回型別或 out 引數,從先前所述的 Web 服務方法將不會序列化。 這個 Web 服務的方法是,型別 T 的物件或物件,包含 T 在 其物件圖形。

附註目前,沒有.NET Framework 2.0 SP2 的個別的封裝。 .NET Framework 2.0 SP2 封裝中包含的.NET Framework 3.5 SP1。

解決方案

Hotfix 取代資訊

對應到 KB952883 Hotfix 已經與 Hotfix 包含所有的修正程式,先前已經包含在 KB952883 的 KB976814 取代。 您應該使用 Hotfix KB976814 修正 KB952883 所述的問題。?更多的資訊,按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
976814? (http://support.microsoft.com/kb/976814/ ) FIX: System.InvalidOperationException 的例外狀況發生於使用 WCF 用戶端 Proxy 產生 ServiceModel 中繼資料公用程式 」 工具,從服務中繼資料是在.NET Framework 3.5

狀況說明

Microsoft 已確認這是一個問題在 Microsoft 產品所列在 < 適用於 > 一節。

?考

有關軟體更新術語的詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824684? (http://support.microsoft.com/kb/824684/ ) 標準的術語,用來描述 Microsoft 軟體更新的描述

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