szabályok sorszámozás
NET Remoting
Az új típusú kell választania technológiák támogatnia kell az ilyen típusú (ha van ilyen). Az alábbi javaslatokat, hogy segítsen, hogy ez a választás, és leírja, hogyan kell végrehajtani az ilyen támogatást. Ezeket az ajánlásokat nem kell figyelembe venni, mint egy jelzés, hogy kiválassza a sorszámozás technológia használata a végrehajtását a kérelem vagy a könyvtár. Ezek nem kapcsolódnak közvetlenül a fejlődés API, így teljes leírása nem adható e szakasz alapján.
Az új típusú alapján kell sorba rendezés.
Meg kell figyelembe venni a fejlesztés valamennyi típusú, mivel a program érdemes tárolni, vagy át a példány típusát.
A helyes választás, hogy támogassa sorszámozás
Bármilyen típusa lehet támogatni egy vagy több, a sorszámozás technológiák, valamint hogy nem támogatja ezek közül bármelyik.
Ha példányait hogy fenn kell tartani, illetve a web-szolgáltatásokat, akkor dönt, hogy támogatja szerializálásáról adatok szerződést.
Ha azt szeretnénk, több ellenőrzése alatt az XML alapú formátum, létrehozott sorosítás típus ajánlott választani támogatja az XML-sorszámozás helyett szerializálásáról adatok szerződés vagy mellett is.
Ennek alátámasztására a technológia lehet szükség bizonyos helyzetekben, kölcsönhatások, amely előírja, hogy az XML struktúrák, nem támogatott, amikor szerializálásáról adatok szerződést, mint például létre az XML-tulajdonság.
Ha a másolatok típusú továbbítandó határain túlra építészet .NET távirányítási, a sorozatba támogatást ajánlott választani a futási környezetben.
NEM javasolt az serialization runtime vagy XML-sorszámozás az általános előnyöket nyújt megőrzése. Ehelyett azt javasoljuk, hogy használja a sorszámozás adatok szerződés
Támogatás sorozatprogramozásának adatok szerződés
Típusok fenntartani serialization adatok szerződés alkalmazása során DataContractAttribute a típusát és az alkalmazás DataMemberAttribute az elemek (mezők és tulajdonságai) típusú.
AJÁNLOTT mark adatelemek, mint a nyitott, ha a típus használható részleges bizalmi környezetben. Egy olyan környezetben, teljes bizalommal adatok sorosító szerződések végezhet sorozatprogramozásának deserialization zárt típusú és elemek, hanem a részleges bizalmi környezetben ezek a műveletek végezhetők csak nyitott tételeket.
Kell létrehoznia és olvasási eljárás hozzárendelése módszerrel minden tulajdonságnak Adatok MemberAttribute attribútumot. Ha sorosító szerződések serializable adattípus tartják csak a jelenlétében a két módszer - az olvasás és beállítást. Ha a típus nem használható részleges bizalmi környezetben, egy vagy több módon vehető igénybe az ingatlan lehet zárni.
Azt javasolta inicializáló deserialized esetekben használja callback serialization.
Ha deserialize objektum konstruktor nevezzük. Ezért minden logikát végre normális építési kell megvalósítani, mint az egyik visszahívások serialization.
Képesség OnDeserializedAttribute a leggyakrabban használt visszahívási attribútum. Ezen kívül a családba tartoznak OnDeserializingAttribute tulajdonítja. OnSeralizingAttribute és OnSerializedAttribute. Ezeket fel lehet használni, hogy jelölje meg a visszahívások, amelyek végrehajtása előtt deserialization előtt és után sorszámozás szerializáció volt.
AJÁNLOTT KnownTypeAttribute jelölik az adott típusú, hogy kell használni, amikor deserializing bonyolultabb objektum gráfot.
Például, ha a típus deserialized adatelem képviselők egy absztrakt osztály, a párhuzamos-soros lesz szüksége információra egy bizonyos típusú. hogy kiválasszon egy adott típusú példányosíthat és hozzá elem. Ha egy ismert típus nincs megadva, akkor szükséges kifejezetten továbbítja Comment (ez megtehető átadásával ismert típusú designer-soros), vagy adja meg a konfigurációs fájlban.
Azokban az esetekben, amikor a lista ismert típusa ismeretlen statikusan (a összeállítja az osztály fő), KnownTypeAttribute is jelezheti egy módszert, amely visszaadja a lista ismert típusú futásidőben.
Létrehozása és szerkesztése során serializable típusú arra ösztönzik, hogy előre és visszafelé kompatibilitás.
Nem szabad elfelejteni, hogy a szerializált patak jövőbeli változatai a típusok deserialized a jelenlegi változat a típus, és fordítva. Felhívjuk figyelmét, hogy az adatelemek, még zárva van, és a belső, nem tudja megváltoztatni a nevét, típusát, és még a saját érdekében típusok a jövőben változatban, kivéve, ha különleges intézkedéseket, hogy megőrizzék a szerződés kifejezett paraméterek attribútumokat. Ha megváltoztatja a típusát serializable serialization kompatibilitási ellenőrzés. Próbáld deserialize új változata a korábbi, és fordítva.
AJÁNLOTT észre IExtensibleDataObject felület. Ez biztosítani fogja hurok értékeket különböző változatai típusát.
Az interfész lehetővé teszi a párhuzamos-soros garantálása nincs adatvesztés, ha az érték a kezelési ciklusok. ExtensionData ingatlan megőrzi az összes adatot a későbbi verzió a típus az ismeretlen az aktuális verzió. Ha a jelenlegi verzió, akkor szerializált és deserialized egy későbbi, további adatokat is elérhető lesz a szerializált patak keresztül ingatlanok értékét ExtensionData.
Támogatja az XML-sorszámozás
Sorszámozás e szerződések egy jelentős (alapértelmezés) sorszámozás technológia a .NET Framework, de sorszámozás forgatókönyveket, amelyek nem támogatják ezt a technológiát. Például nem biztosít teljes ellenőrzése alatt formájú XML-kód által generált vagy használt Comment. Ha szüksége van egy ilyen magas szintű ellenőrzést, használja az XML-sorszámozás. fejlődő fajta, hogy támogassa ezt szerializáció technológiát.
Az igény, hogy ne alakuljon ki típusok kifejezetten XML-sorszámozás, kivéve, ha szükséges, hogy ellenőrizzék az alak által létrehozott XML-kódot. Ez sorszámozás technológia váltotta szerializálásáról adatok szerződésben leírtak szerint az előző részben.
Más szóval, ne használja attribútumok tér System.Runtime.Serialization nevek az új típusú, ha csak ez a típus nem használható XML-sorszámozás. Az alábbi példa a használatára System.Xml.Serialization alakjának ellenőrzéséhez létrehozott XML-kódot.
Javasoljuk, hogy használja végrehajtás IXmlSerializable felületen. ha szüksége van egy magasabb szintű ellenőrzést a szerializált formáját egy XML-kódot, mint ami biztosítja az XML-szerializációs attribútumokat. Két interfész módszer ReadXml és WriteXml. teljes körű ellenőrzése alatt XML-serializable patak. Ez lehetővé teszi, hogy ellenőrizzék az XML-séma, amely az alkalmazás által előállított type attribútummal XmlSchemaProviderAttribute.
Támogatás sorozatprogramozásának futásidőben
Sorszámozás futásidejű alkalmazott technológia a távoli interakció .NET. Ha azt tervezi, hogy át fajta felhasználásával .NET távirányítási, meg kell győződnie arról, hogy támogatják serialization futásidőben.
Alapvető támogatás szerializáció futásidejű lehet biztosítani SerializableAttribute attribútumot. A bonyolultabb forgatókönyvet végre, egy egyszerű sorszámozás sablon futásidejű (ISerializable végrehajtása és annak biztosítása, serialization kivitelező).
Javasolja, hogy a sorszámozás támogatása típusok futási időben, ha a típusok használhatók .NET távirányítási. Például System.AddIn névtér használata .NET távirányítási és így minden típusú átvitel a felépítmények System.AddIn. Támogatni kell a sorszámozás futásidőben.