چهارشنبه, ۲۶ دی, ۱۴۰۳ / 15 January, 2025
مجله ویستا

آشنایی با فوق داده


آشنایی با فوق داده

هنگام ایجاد یک اسمبلی دو چیز اتفاق می‌افتد. کد شما به MSIL تبدیل می‌شود، و تمامی اطلاعات وابسته به آن که در کد وجود دارد (…,references , types) به عنوان فوق داده در داخل مانیفست آورده می‌شوند. به دنبال …

هنگام ایجاد یک اسمبلی دو چیز اتفاق می‌افتد. کد شما به MSIL تبدیل می‌شود، و تمامی اطلاعات وابسته به آن که در کد وجود دارد (…,references , types) به عنوان فوق داده در داخل مانیفست آورده می‌شوند. به دنبال آن، CLR فوق داده را ضمیمهٔ داده‌های موجود در حافظه کرده و از آن به عنوان یک مرجع در یافتن نیازهای برنامه استفاده می‌کند. این نقشه سهم عظیمی در قابلیت عملکرد چند محیطی دارد، زیرا CLR درحقیقت نیازی به آن ندارد که از محتویات کدی برنامه اطلاع داشته باشد و کافی است که نگاهی به فوق داده بیاندازد و از موضوع موردنیاز و مقصد نهایی آن اطلاع پیدا کند. فوق داده مسئول انتقال اطلاعات زیر به CLR است:

مجوزهای امنیتی

انواع صادر شده

هویت

مراجع اسمبلی خارجی

قابلیت دید رابط

عناصر اسمبلی محلی

فواید فوق داده

اقلام موجود در فوق داده درهنگام اجرا، توسط CLR در ساختارهای اطلاعاتی موجود در حافظه جا داده می‌شوند. این امر موجب می‌شود که فوق داده در اسرع وقت با آزادی بیشتری مورد استفاده قرار گیرد. این سیستم با عرضه کردن تمامی اقلام موردنیاز اسمبلی، توابع خود توصیف‌گر اسمبلی‌های .NET را بهبود بخشد. همچنین به اشیاء دیگر اجازه می‌دهد (البته براساس فوق داده) تا با اسمبلی تعامل و ارتباط داشته باشند. همچنین فوق داده با ایجاد لایه‌ای بین کد اسمبلی و آنچه در CLR می‌بینید، قابلیت عملکرد چندمحیطی را امکان‌پذیر می‌سازد. CLR از فوق داده به طور وسیع استفاده می‌کند، بنابراین بار قابلیت عملکرد را از دوش /CPU زبان برمی‌دارد. CLR از طریق مجموعه‌ای از APIها، بویژه سرویسهای پخش بازتاب و بازتاب مدیریت شده، فوق داده را می‌خواند و ذخیره می‌کند و از آنها استفاده می‌کند. انتزاع لایه‌ای موجب می‌شود که در زمان اجرا به بهینه‌سازی اقلام مانیفست موجود در حافظه بدون مراجعه به کامپایلرهای اولیه ادامه داده و یک ماندگاری از نوع snap-in را قادر سازد تا به CLR اجازه نمایش دودویی بدهد و در عین حال با انواع مدیریت نشده و هر نوع فرمت دیگری ارتباط برقرار کند که نیاز به استقرار در حافظه داشته باشد.