Zlepšení serializace DataSet a Remoting výkon

Překlady článku Překlady článku
ID článku: 829740 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Tento článek obsahuje ukázkový serializace souhrnný třídy a je optimalizován efektivněji serializovat a rekonstruovat větší třídy DataSet a popisuje optimalizace výkonu větší tříd .NET Framework System.Data.DataSet.

Další informace

Při předání objekt System.Data.DataSet mezi procesy .NET Framework Remoting používá serializovat přenos a zrušit serializaci třídy DataSet. Pokud předat DataSet třída z webové služby .NET, interně Microsoft .NET Framework System.Xml.Serialization.XMLSerializer třídy slouží k serializaci dat DataSet zpět klientovi. Pokud předat DataSet ze spravovaného objektu, jehož hostitelem je aplikace COM + používané třídy BinaryFormatter .NET Framework Remoting. Bez ohledu na používaný .NET Framework mechanismus vzdálené komunikace třídy DataSet vždy převede vnitřní data XML při serializaci data.

Třída DataSet, který je součástí Microsoft .NET Framework 1.0 a .NET Framework 1.1 funguje efektivně pro serializaci přes .NET Framework Remoting malé množství dat (stovky řádků) DataSet. Mechanismus serializace je neefektivní větší DataSet (tisíce řádků) a bude výrazně velké přechodné přidělení paměti (krátkém povahy). Tyto přidělení paměti snížit škálovatelnost aplikace.

Poznámka: Přidělení paměti přechodné je přidělení krátkodobý paměti, který nastane během zpracování některých oddílech kód. Proto během serializace během vzdálené komunikace a při rekonstrukci třídy DataSet, různé spravované objekty jsou přidělena a uvolnit interně službou .NET Framework Remoting zpracovat požadavek vzdálené komunikace. Přidělení a větší a větší spravované objekty navrácení vloží další tlaku na .NET systému správy paměti a snižuje celkový škálovatelnost. Například aplikace, která má mnoho vyvolání metody in-flight generovat přidělení velký přechodné paměti lze spustit z paměti před dokončením všechna volání metody.

Pomocí tříd obálky typ nebo serializace správně navržených náhradníků můžete výrazně zvýšit výkon serializace a vzdálené komunikace pro větší objektů DataSet. Další informace o použití mechanismus náhradního nebo souhrnný mechanismus (nebo obojí) s třídy DataSet .NET Framework na webu Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/msdnmag/issues/02/12/cuttingedge
Tento článek neposkytuje úplný ukázkové jak implementovat typ náhradního DataSet nebo třídy obálky serializace.

Tento článek obsahuje ukázkový serializace souhrnný třídy a je optimalizován efektivněji serializovat a rekonstruovat větší objektů DataSet. Třída významně snižuje přidělení paměti přechodné versus vzdálené komunikace typické DataSet. Velké snížení přidělení paměti přechodné také zlepšit vzdálené komunikace-end čas a zlepšit škálovatelnost při použití větší DataSet.

Ukázka poskytuje třídy obálky serializace nazvanou DataSetSurrogate. Třída DataSetSurrogate je použita jako třída obálky pro jakékoli DataSet, který chcete vzdálené. Součást serveru předá DataSet chcete DataSetSurrogate konstruktor a potom předá zpět klientovi třídy DataSetSurrogate. Na straně klienta je použita metoda DataSetSurrogate.ConvertToDataSet extrahovat z DataSetSurrogate třídy DataSet.

Třída DataSetSurrogate je označena jako Serializable a všechna pole v DataSetSurrogate třídy jsou také serializovatelný třídy. Proto při vzdálené objekt DataSetSurrogate infrastruktury vzdálené komunikace automaticky řadí a deserializes DataSetSurrogate objektu a všech polí. Klíče serializace výhodou třídy DataSetSurrogate přes třídy DataSet je třída DataSetSurrogate řadí data v binárním formátu. Pomocí binární formát serializace je mnohem efektivnější i v paměti a PROCESORU než existující formát serializace DataSet XML.

Poznámka: Maximalizovat výkon Výhodou této třídy obálky serializace třídy.NET Framework System.Runtime.Serialization.Formatters.Binary.BinaryFormatter při použití vzdálené komunikace. Při použití třídy DataSetSurrogate není jako efektivní vzdálené komunikace pomocí třídy .NET Framework System.Runtime.Serialization.Formatters.Soap.SoapFormatter.

Na webu služby Stažení softwaru je k dispozici ke stažení následující soubor:
Zmenšit tento obrázekZvětšit tento obrázek
Download
Download the SurrogateSample.exe package now.Další informace o tom, jak stahovat soubory podpory společnosti Microsoft, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
119591Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Microsoft tento soubor zkontroloval na výskyt virů. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici v den uveřejnění tohoto článku. Soubor je uložený na zabezpečených serverech neumožňujících neoprávněné změny souborů.

Přístup ukázkové soubory

Uložení souboru SurrogateSample.exe jednotku C: v počítači. Odtud můžete extrahovat strukturu složek. V každé složce, která obsahuje další pokyny je souboru readme.

Vlastnosti

ID článku: 829740 - Poslední aktualizace: 4. srpna 2004 - Revize: 1.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Klíčová slova: 
kbmt kbdownload kbinfo KB829740 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:829740

Dejte nám zpětnou vazbu

 

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