PARANDUS: Return tüüp või ASMX teenuseid meetod, mis sisaldab atribuuti, millel on sisemine kinnitamiseks välja argument võib olla seeriasertide arvutis, kuhu on installitud .NET Framework


Sümptomid


Kujutage ette järgmist stsenaariumi. Teil on arvuti, mis on Microsoft .NET Framework 2.0 Service Pack 2 (SP2) või .NET Framework 3.5 SP1 installitud. Kasutate ASMX teenuseid meetodit, mis sisaldab atribuuti ning on sisemine kinnitamiseks. Selle serialiseerimine võib nurjuda. See probleem ilmneb juhul, mis sarnaneb järgmisega:
  • Avaliku tüüp T sisaldab avaliku vara, mis on avalik getter ja sisemine kinnitamiseks. Näiteks lähtekoodi võib sarnaneda järgmisega.
    public class T{

    public <Type> <Propertyname1> { get; internal set; }

    }

  • Veebiteenuse, return tüüp või kontorist vähemalt üks veebiteenuse meetodi argument tüüp T objektid või objekte, mis sisaldavad T oma objekti graafikud. Näiteks lähtekoodi võib sarnaneda mõne järgmistest näidetest.
    • public T MyWebMethod(…){

      }

    • public void MyWebMethod(…, out U){

      }
      ...
      public Class U
      {
      public T <Propertyname2> { get; set; }
      }
  • T- või U on kasutusel kõik Web meetodeid mitte-out-ainult argumendina.

    Märkus. Kui meetod on rohkem kui üks argument, kutsutakse välja argumendid mitte-out-ainult argumendid.
  • Vara, mis on sisemine kinnitamiseks tüüp pole Enumerable või kogumine.
  • Enne rakendasite .NET Framework 2.0 SP2 või .NET Framework 3.5 SP1, loodud puhverserveri kood eespool mainitud veebiteenusega Wsdl.exe tööriista või Visual Studio Add Web viide funktsiooni abil.
  • Pärast seda, kui olete juurutanud veebiteenus ja klientidele, võite rakendada .NET Framework 2.0 SP2 või .NET Framework 3.5 SP1.
Selle stsenaariumi puhul saatja tüüp või vales argument eespool mainitud Web service meetod on ei seeriasertide. Selle veebiteenuse meetodi on tüüpi T objekti või objekti, mis sisaldab nende objekti graafikud.

Märkus. Praegu on .NET Framework 2.0 SP2 ei ole eraldi alla. .NET Framework 2.0 hoolduspaketi SP2 sisaldab .NET Framework 3.5 hoolduspaketi SP1 pakett.

Lahendus


Käigultparanduse asendamise teave

Kiirparanduse, mis vastab KB952883 olnud asendab kiirparandus KB976814, mis sisaldab kõiki parandusi, mis sisaldusid eelnevalt KB952883. Peaksite kasutama käigultparanduse KB976814 kirjeldatud KB952883. Kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
976814 FIX: A System.InvalidOperationException erand tekib siis, kui kasutate WCF-i kliendi puhverserveri kaudu teenuse metaandmed, mis on .NET Framework 3.5 Teenusemudeli metaandmete utiliidi tööriist loodud

Olek


Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Viited


Tarkvaravärskenduste terminoloogia kohta lisateabe saamiseks avage Microsofti teabebaasi (Knowledge Base) artikkel, klõpsates järgmist artiklinumbrit:
824684 Microsofti tarkvaravärskenduste iseloomustamiseks kasutatavate standardterminite kirjeldus