บ้าน ในข่าว แคชแอสเซมบลีส่วนกลางคืออะไร (gac) - คำจำกัดความจาก techopedia

แคชแอสเซมบลีส่วนกลางคืออะไร (gac) - คำจำกัดความจาก techopedia

สารบัญ:

Anonim

คำจำกัดความ - Global Assembly Cache (GAC) หมายถึงอะไร

Global Assembly Cache (GAC) เป็นโฟลเดอร์ในไดเรกทอรี Windows เพื่อเก็บแอสเซมบลี. NET ที่ได้รับการกำหนดเป็นพิเศษให้แบ่งปันโดยแอปพลิเคชันทั้งหมดที่ดำเนินการบนระบบ

แนวคิดของ GAC เป็นผลมาจากสถาปัตยกรรม. NET ที่การออกแบบแก้ไขปัญหาของ "DLL hell" ที่มีอยู่ใน COM (Component Object Model Model) ต่างจากใน COM ไม่จำเป็นต้องมีการลงทะเบียนแอสเซมบลีใน GAC ก่อนการใช้งาน การชุมนุมแต่ละครั้งสามารถเข้าถึงได้ทั่วโลกโดยไม่มีข้อขัดแย้งใด ๆ โดยการระบุชื่อรุ่นสถาปัตยกรรมวัฒนธรรมและกุญแจสาธารณะ

Techopedia อธิบาย Global Assembly Cache (GAC)

GAC เป็นรหัสแคชทั้งเครื่องที่ใช้สำหรับการเรียกใช้งานแอสเซมบลีแบบเคียงข้างกัน GAC ใช้คุณสมบัติของไลบรารีที่ใช้ร่วมกันซึ่งแอปพลิเคชันต่าง ๆ นำรหัสที่วางในไฟล์ที่อยู่ในโฟลเดอร์ทั่วไปมาใช้ซ้ำ ใน. NET 4.0 ตำแหน่งเริ่มต้นของมันคือ:% windir% \ Microsoft.NET \ assembly


GAC นั้นยังเป็นรายการแรกในเส้นทางการค้นหาในขณะที่โหลดแอสเซมบลี. NET ข้อกำหนดเพียงอย่างเดียวสำหรับแอสเซมบลีที่จะนำไปใช้งานใน GAC คือมันควรมีชื่อที่รัดกุม CLR (Common Language Runtime) หมายถึงแอสเซมบลีตามรุ่นเฉพาะที่กล่าวถึงโดยแอปพลิเคชันที่เรียก ระบบไฟล์เสมือนของ GAC ช่วยดึงแอสเซมบลีเฉพาะรุ่น


เครื่องมือสองอย่างที่เกี่ยวข้องกับ GAC คือ GAC Tool (gacutil.exe) และ Assembly Cache Viewer (shfusion.dll) เครื่องมือ GAC ใช้สำหรับตรวจสอบการมีอยู่ของแอสเซมบลี, ลงทะเบียนแอสเซมบลีที่ใช้ร่วมกัน, ดูและจัดการเนื้อหาของ GAC, ฯลฯ การเป็นโฟลเดอร์ระบบจะต้องใช้สิทธิ์ผู้ดูแลระบบ Assembly Cache Viewer ใช้เพื่อแสดงรายละเอียด (รุ่น, วัฒนธรรม, ฯลฯ ) ที่เกี่ยวข้องกับแอสเซมบลีที่มีอยู่ในแคช


GAC ให้ประโยชน์ของการใช้รหัสซ้ำความปลอดภัยของไฟล์ (เนื่องจากมีการติดตั้งในไดเรกทอรี 'systemroot' และการลบจะกระทำโดยผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบเท่านั้น) การดำเนินการแบบเคียงข้างกัน (อนุญาตให้ประกอบหลายรุ่นไว้ในโฟลเดอร์เดียวกัน ) ฯลฯ


ข้อเสียอย่างหนึ่งของการใช้ GAC คือเวอร์ชันของ. NET Framework ที่ติดตั้งในระบบที่ใช้ GAC และสิ่งที่ใช้ในการรวบรวมแอปพลิเคชันจะต้องเหมือนกัน นอกจากนี้ชื่อที่รัดกุมไม่สามารถใช้กับแอสเซมบลี (เช่นรหัสบุคคลที่สาม) ซึ่งแอสเซมบลีที่อยู่ในโฟลเดอร์ GAC ขึ้นอยู่กับ

แคชแอสเซมบลีส่วนกลางคืออะไร (gac) - คำจำกัดความจาก techopedia