วิธีการขายทิ้งที่ SQL Server CE, SQL Server 2005 รุ่น Compact หรือ SQL Server 2005 Mobile Edition จัดการวัตถุจากหน่วยความจำ

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 834279 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความนี้อธิบายวิธีการต่าง ๆ ในการขายทิ้ง จัดการวัตถุ ใน Microsoft SQL Server 2000 Windows CE Edition ใน Microsoft SQL Server 2005 Compact Edition หรือ ใน SQL Server 2005 เคลื่อนที่รุ่นที่ใช้ในโปรแกรมประยุกต์ที่คุณสร้าง โดยใช้ Microsoft Visual Studioสุทธิที่ใช้ Microsoftกรอบการกระชับสุทธิ

ข้อมูลเพิ่มเติม

การให้บริการข้อมูลกรอบการกระชับสุทธิสำหรับ SQL Server CE, SQL Server 2005 Compact Edition หรือโทรศัพท์เคลื่อนที่รุ่นของ SQL Server 2005 คอลเลกชันของคลาสที่ รวมถึงสนับสนุนการ SqlCeCommand คลาส SqlCeConnection คลาส และต้องการ SqlCeDataReader การจัดประเภท คุณสามารถใช้วัตถุที่มีอินสแตนซ์เหล่านี้ ระดับชั้นในการเข้าถึงไปยังฐานข้อมูล SQL Server CE, SQL Server 2005 รุ่น Compact หรือ SQL Server 2005 Mobile Edition จากอุปกรณ์ที่ใช้ Microsoft Windows CE ใน สภาพแวดล้อมที่มีการจัดการ อย่างไรก็ตาม คุณต้องนำออกใช้หน่วยความจำที่มีการปันส่วน ไปยังวัตถุถ้าวัตถุไม่จำเป็นต้องมี

คุณสามารถใช้วิธีการต่อไปนี้เมื่อต้องปล่อยหน่วยความจำที่ถูกปันส่วนไป ออปเจ็กต์ของคลาส

หมายเหตุ Microsoft ขอแนะนำให้ คุณใช้นั้น Close() วิธีการ หรือยัง Dispose() วิธีการและการเขียนโค้ดต่อไปนี้ลักษณะการนำออกใช้หน่วยความจำสำหรับตัว วัตถุนั้นคลาสที่สุทธิที่ประกอบด้วยท้องถิ่น การอ้างอิง
  • ใช้การ Close() วิธีการ หรือยัง Dispose() วิธีการ ประเภททั้งหมดที่ประกอบด้วยท้องถิ่น ใช้การอ้างอิง กับ SQL Server CE, SQL Server 2005 รุ่น Compact หรือ SQL Server 2005 Mobile Edition IDisposable อินเทอร์เฟซ เนื่องจากคลาสที่เหล่านี้ใช้ใน IDisposable อินเทอร์เฟซ Dispose() วิธีการ ที่ IDisposable อินเทอร์เฟซที่สามารถใช้เพื่อนำออกใช้หน่วยความจำสำหรับตัว วัตถุที่ได้รับการจัดการ

    คลาสที่เหล่านี้ยังนำมาใช้เป็น Close() วิธีการที่จะ เหมือนกับ Dispose() วิธีการ ดังนั้น คุณสามารถเรียกใช้อย่างใดอย่างหนึ่ง Close()วิธีการ หรือยัง Dispose() วิธีการปลดปล่อยหน่วยความจำที่ถูกปันส่วนไป วัตถุ อย่างไรก็ตาม ถ้าคุณติดต่อ Close() วิธี คุณไม่จำเป็นต้อง เรียกตัว Dispose() วิธีการ

    ยกตัวอย่างเช่น เมื่อคุณใช้การ SqlCeDataAdapter คลาส เพื่อสร้างชุดข้อมูลเป็น คุณต้องชัดเจนทิ้งทั้งหมดที่เกี่ยวข้องSqlCeCommand อินสแตนซ์ที่แสดงคำสั่งที่เลือก คำสั่ง คำสั่ง UPDATE แทรก หรือลบ คำสั่ง คุณสามารถใช้ลักษณะการเขียนรหัสต่อไปนี้ได้เนื่องจากสาเหตุใดสุทธิที่คลาส ประกอบด้วยการอ้างอิงดั้งเดิม:
     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:
http://msdn2.microsoft.com/en-us/library/system.idisposable (vs.71) .aspx
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ที่ GCCollect() วิธี การเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/library/aa903907 (VS.71) .aspx
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ที่ SqlCeConnection.Close วิธีการ การเยี่ยมชมเว็บของ Microsoft ต่อไปนี้ ไซต์:
http://msdn2.microsoft.com/en-us/library/system.data.sqlserverce.sqlceconnection.close (vs.71) .aspx
สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824462SqlCeCommand วัตถุจะไม่อัตโนมัติตัดถ้าคุณใช้กับวัตถุ SqlCeDataAdapter
326164 โปรแกรมอรรถประโยชน์ Dumpmem สำหรับการดูพื้นที่ที่อยู่เสมือนบนพ็อกเก็ตพีซี 2002
827837 การแก้ไข: ทำเชื่อมต่อ SQL Server CE ให้เงื่อนไขออกจำเป็นเมื่อคุณสร้างวัตถุ SqlCeDataReader มาก

คุณสมบัติ

หมายเลขบทความ (Article ID): 834279 - รีวิวครั้งสุดท้าย: 13 ธันวาคม 2554 - Revision: 1.0
ใช้กับ
  • 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
Keywords: 
kbgarbagecollect kbmemory kbappdev kbcodesnippet kbcode kbinfo kbmt KB834279 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:834279

ให้ข้อเสนอแนะ

 

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