Metódy pre likvidáciu SQL Server CE, SQL Server 2005 Compact Edition alebo SQL Server 2005 Mobile Edition riadené objekty z pamäte

Preklady článku Preklady článku
ID článku: 834279 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

SUHRN

Tento článok sa zaoberá rôznymi spôsobmi odpredávať riadené objekty v Microsoft SQL Server 2000 Windows CE Edition, Microsoft SQL Server 2005 Compact Edition alebo SQL Server 2005 Mobile Edition, ktoré sa používajú v aplikáciách, ktoré vytvoríte pomocou programu Microsoft Visual Studio.SIETE, ktoré používajú Microsoft.NET Compact rámca.

DALSIE INFORMACIE

.NET Compact poskytovateľ údajov rámec pre SQL Server CE, SQL Server 2005 Compact Edition alebo SQL Server 2005 mobilná Edition podporuje zber tried, vrátane SqlCeCommand trieda, SqlCeConnection trieda, a SqlCeDataReader triedy. Môžete použiť objektov, ktoré sú inštancie týchto tried získať prístup k databáze SQL Server CE, SQL Server 2005 Compact Edition alebo SQL Server 2005 Mobile Edition zo zariadení, ktoré sú spustené v Microsoft Windows CE riadenom prostredí. Avšak, musí uvoľniť pamäť, ktorá je jej pridelená na predmety, ak už sú požadované objekty.

Nasledujúce metódy môžete použiť na uvoľnenie pamäte, ktorá je jej pridelená objekty triedy.

Poznámka Spoločnosť Microsoft odporúča, aby ste používali Close() metóda alebo Dispose() metóda a nasledujúce kódovanie štýl na uvoľnenie pamäte pre objekty.ČISTÝ tried, ktoré obsahujú natívne odkazy.
  • Použitie Close() metóda alebo Dispose() metóda. Všetky triedy, ktoré obsahujú natívne odkazy na SQL Server CE, SQL Server 2005 Compact Edition alebo SQL Server 2005 Mobile Edition implementovať IDisposable rozhranie. Pretože vykonávanie týchto tried IDisposable rozhranie, Dispose() metóda The IDisposable rozhranie môžete použiť na uvoľnenie pamäte pre managed object.

    Tieto triedy tiež vykonávať Close() metóda, ktorá je podobné Dispose() metóda. Preto môžete volať buď Close()metóda alebo Dispose() metódou na uvoľnenie pamäte, ktorá je jej pridelená objekt. Avšak, ak zavoláte Close() metóda, nemáte na zavolať Dispose() metóda.

    Napríklad, ak použijete SqlCeDataAdapter Trieda na vyplnenie dataset, musia výslovne vyradení všetkých pridruženýchSqlCeCommand prípady, ktoré predstavujú vybrať príkazy Vložiť príkazy, aktualizácia príkazy, alebo odstrániť príkazy. Môžete použiť nasledujúce kódovanie štýl pre akékoľvek.NET triedy, ktoré obsahuje natívne odkazy:
     SqlCeConnection conn = null; 
     try
     {
    	 conn = new SqlCeConnection(<ConnectionString>);
    	 conn.Open(); 
    	// Work with the connection object
    }
    catch (Exception en)
    {
    	// Handle the exception or rethrow it
    }
    finally
    {
    	// Always release the native references in the finally clause
    	// The statements in finally clause are guaranteed to run
    
    	if (null != conn) conn.Close(); 
    } 
  • Použitie Collect() metóda GC Odpadky zberača triedy.

    Poznámka Je to veľmi nákladné na spustenie Collect() metóda GC Odpadky zberača triedy. Preto spoločnosť Microsoft odporúča, že použijete Collect()metóda GC Odpadky zberača triedy iba vtedy, ak musíte tak urobiť.

    Použite nasledujúci kódovanie štýl volať Collect()metóda zberača odpadky v aplikácii:
    try
    {
           SqlCeConnection conn = null;
           conn = new SqlCeConnection(<ConnectionString>);
           conn.Open(); 
     
           // The connection instance goes out of scope and effectively loses native references here
           // The conn object is only disposed of when the Garbage Collector starts finalizing objects,
           // but this only occurs under memory pressure.
           // If many objects are allocated like this, the performance of the program decreases.
    }
    catch (Exception en)
    {
           // Handle the exception or rethrow it
    }
    finally
    { 
           // If GC.Collect() is called, the Garbage Collector is forced to run all the finalizers in the finalization queue. 
           // Therefore, the connection instance that was previously lost is disposed of here by the Collect method of the GC Garbage Collector class. 
           // By putting this in the finally clause we guarantee it will always be executed even if the exception is rethrown
           
           GC.Collect();
    }
     
    Ak používate kódovanie štýl v prvej odrážky v tomto zozname, nemáte výslovne odvolávaťCollect() metóda odpadky zberača.

ODKAZY

Ďalšie informácie o IDisposable rozhranie, navštívte nasledujúce webovú lokalitu spoločnosti Microsoft:
.aspx http://msdn2.Microsoft.com/en-us/library/System.idisposable (vs.71)
Ďalšie informácie o The GC.Collect() metóda, navštívte nasledovnú webovú lokalitu spoločnosti Microsoft:
.aspx http://msdn2.Microsoft.com/en-us/library/aa903907 (VS.71)
Ďalšie informácie o The SqlCeConnection.Close metóda, navštívte nasledujúce Microsoft Web lokalita:
.aspx http://msdn2.Microsoft.com/en-us/library/System.Data.sqlserverce.sqlceconnection.Close (vs.71)
Ďalšie informácie nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
824462SqlCeCommand objektov nie sú automaticky odpredané Ak použijete objekt SqlCeDataAdapter
326164 Dumpmem utilita pre zobrazenie priestoru virtuálnych adries Pocket PC 2002
827837 OPRAVIŤ: SQL Server CE pripojenie spôsobuje nedostatok pamäte stave pri vytváraní mnoho SqlCeDataReader objektov

Vlastnosti

ID článku: 834279 - Posledná kontrola: 13. decembra 2011 - Revízia: 1.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft .NET Compact Framework
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft SQL Server 2005 Compact Edition
Kľúčové slová: 
kbgarbagecollect kbmemory kbappdev kbcodesnippet kbcode kbinfo kbmt KB834279 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:834279

Odošlite odozvu

 

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