您目前已離線,請等候您的網際網路重新連線

SQL Server CE、 SQL Server 2005 精簡版或 SQL Server 2005 Mobile Edition 的處置方法從記憶體管理物件

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:834279
本文已封存。本文係以「現狀」提供且不會再更新。
結論
本文將告訴您不同的方式,要同步處置受管理的 Microsoft SQL Server 2000 Windows CE 版、 Microsoft SQL Server 2005年精簡版,或 SQL Server 2005 Mobile Edition 的物件,您使用 Microsoft Visual Studio 建立的應用程式中使用。使用 Microsoft 的 NET。遄 A。
其他相關資訊
。SQL Server CE、 SQL Server 2005 精簡版,或 SQL Server 2005 Mobile Edition 的遄 Framework 資料提供者支援的類別,包含集合 SqlCeCommand 類別, SqlCeConnection 類別,以及 SqlCeDataReader 類別。您可以使用的情況下,這些項目的物件要從正在執行 Microsoft Windows CE 中的裝置取得存取權 SQL Server CE、 SQL Server 2005 精簡版或 SQL Server 2005 Mobile Edition 的資料庫類別受管理的環境。不過,您必須釋放的記憶體配置如果物件已不再需要的物件。

您可以使用下列方法來釋放配置到的記憶體類別的物件。

附註 Microsoft 建議您採用 Close) 方法或 Dispose) 若要釋放的記憶體的方法,下列程式碼撰寫樣式物件。NET 包含原生的類別參考。
  • 使用 Close) 方法或 Dispose) 方法。包含原生的所有類別SQL Server CE、 SQL Server 2005 精簡版,或 SQL Server 2005 Mobile Edition 的參考實作 IDisposable 介面。因為這些類別實作 IDisposable 介面, Dispose) 方法[ IDisposable 介面可以用來釋放的記憶體受管理的物件。

    這些類別也實作 Close) 是的方法類似於 Dispose) 方法。因此,您可以呼叫 Close)方法或 Dispose) 若要釋放的記憶體配置給方法物件。不過,如果您呼叫 Close) 方法中,您不需要呼叫 Dispose) 方法。

    比方說,當您使用 SqlCeDataAdapter 類別若要填入資料集,您必須明確處置所有關聯SqlCeCommand 表示選取的命令的執行個體插入 UPDATE 命令的命令,或刪除命令。您可以在任何使用下列的程式碼撰寫樣式。NET 類別,包含原生參考:
     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(); } 
  • 使用 Collect() 方法 GC 記憶體回收行程的類別。

    附註 這是非常昂貴,無法執行 Collect() 方法 GC 記憶體回收行程的類別。因此,Microsoft 建議您使用的 Collect()方法 GC 只有當您必須這麼做時,記憶體回收行程類別。

    使用下列的程式碼撰寫樣式來呼叫 Collect()應用程式中,記憶體回收行程方法:
    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();} 
    如果您使用的編碼樣式在此清單中的第一個項目符號點時,您不需要明確地叫用Collect() 記憶體回收行程的方法。
参考
如需詳細資訊 IDisposable 介面,請造訪下列 Microsoft 網站: 如需詳細資訊[ GC。Collect() 方法,請造訪下列 Microsoft 網站: 如需詳細資訊[ SqlCeConnection.Close 方法,請造訪下列 Microsoft 網站站台:如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824462SqlCeCommand 不會自動處置物件如果您使用 SqlCeDataAdapter 物件
326164 用來檢視在 Pocket PC 2002 上的虛擬位址空間的 Dumpmem 公用程式
827837 修正: SQL Server CE 連接記憶體不足狀況時,會造成建立許多的 SqlCeDataReader 物件
處置可用呼叫執行函式

警告:本文為自動翻譯

內容

文章識別碼:834279 - 最後檢閱時間:12/08/2015 05:52:00 - 修訂: 1.0

Microsoft .NET Compact Framework, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 專業版, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition, Microsoft SQL Server 2005 Compact Edition

  • kbnosurvey kbarchive kbgarbagecollect kbmemory kbappdev kbcodesnippet kbcode kbinfo kbmt KB834279 KbMtzh
意見反應