PDA

مشاهده نسخه کامل : مقدمه ای بر Microsoft.NET



Security
17-06-07, 10:35
معرفی فناوری NET . و بررسی قسمتهای اصلی آن

ASP.NET عضوی از بدنه NET. و متعلق به ميکروسافت است. شرکت ميکروسافت موفقيت خود را با سرنوشت NET. گره زده است. بنابراين شايد جالب باشد که بدانيم NET. چيست؟ بدنه NET. دارای دو قسمت اصلی است: قسمت اول يک کتابخانه عظيم از کلاس های آماده است و قسمت دوم يک محيط زمان اجرا می باشد.

کتابخانه کلاس ها در NET.
کتابخانه NET. دارای بيش از ۳۴۰۰ کلاس آماده جهت استفاده در برنامه ها است. بعضی از اين کلاس ها همان کلاس های پايه مانند آرايه و رشته هستند. اما عمده اين کلاس ها به پياده سازی اعمال تخصصی مانند کار با فايل و يا توليد مستندات XML پرداخته اند.

• فضانام ها در NET.
انبوه کلاس های موجود در NET. به حال خود رها نشده اند بلکه اين کلاس ها در يک دسته بندی سلسله مراتبی به نام namespace يا فضانام چيده شده اند. بعنوان مثال کليه کلاس های مربوط به کار با فايل ها در فضانام System.IO دسته بندی شده اند. بنابراين با استفاده از نام کلاس و فضانام مربوطه هر کلاس بصورت منحصربفردی مشخص می شود. بعنوان مثال جهت دسترسی به کلاس File در فضانام System.IO می توان از عبارت System.IO.File استفاده کرد.يک دسته از فضانام ها بطور خاص برای برنامه نويسی در ASP.NET در نظر گرفته شده اند. اين فضانام ها با System.Web شروع می شوند. بعنوان مثال کليه ابزارهای HTML در فضانام System.Web.UI.HTMLControls و ابزارهای Web در فضانام System.Web.UI.WebControls قرار دارند.

• مجموعه ها در NET.
کلاس های موجود در NET. در قالب مجموعه ها (Assemblies) جاسازی شده اند. نکته مهم اين است که در اينجا يک مجموعه با يک فضانام اشتباه نشود. يک مجموعه عبارت است از يک يا چند فايل که کد برنامه مربوط به کلاس ها در آن قرار دارد. برای مثال، کليه کلاس های موجود در فضانام System.IO در يک مجموعه بنام Mscorlib.dll قرار دارد. مجموعه Mscorlib.dll يک فايل معمولی است که در ديسک سخت يک کامپيوتر حاوی NET. در کنار ساير فايل ها قرار می گيرد. برای يک فضانام مهم نيست که کلاس های آن بروی ديسک چگونه ذخيره شده است. کلاس های يک فضانام ممکن است در قالب چند مجموعه ذخيره شده باشند و از طرف ديگر يک مجموعه ممکن است حاوی کلاس های چند فضانام باشد. يک فضانام عبارت است از دسته بندی منطقی کلاس ها در محيط برنامه نويسی در حاليکه يک مجموعه، دسته بندی فيزيکی کلاس ها بروی ديسک سخت است

زبان مشترک زمان اجرا در NET.
قسمت دوم بدنه NET. يک محيط يا زبان برای زمان اجرا است که زبان مشترک زمان اجرا (The .NET Common Language Runtime - CLR) نام دارد. در اولين فراخوانی يک صفحه ASP.NET آن صفحه ابتدا کامپايل شده و سپس اجرا می گردد و کد حاصله جهت مراجعات بعدی و جلوگيری از کامپايل مجدد بروی سرور نگهداری می شود. اين کد کامپايل شده يک کد ميانی است که زبان آن زبان جديدی است بنام زبان ميانی ميکروسافت (Microsoft Intermediate Language) يا

MSIL يا به اختصار IL نام دارد. MSIL مشابه کد زبان اسمبلی است. با اين تفاوت که دارای ويژگيهای شئ گرا است و مستقل از پردازنده کامپيوتر طراحی شده است. صفحات ASP.NET با هر زبانی که نوشته شوند در نهايت به کد MSIL تبديل می شوند. سپس کد MSIL در زمان اجرا توسط کامپايلری بنام JIT به کد زبان ماشين مربوطه تبديل می شود. در واقع اينکه صفحات ASP.NET قبل از اجرا به کد ميانی MSIL تبديل می شوند دلايل مهمی دارد. دليل اول اينکه اين مساله دست برنامه نويس را در انتخاب زبان برنامه نويسی باز می گذارد بدون آنکه تفاوتی در نتيجه چه از جهت سرعت و چه از جهت کارآئی برنامه احساس شود. بعنوان مثال شما می توانيد يک صفحه ASP.NET را با زبان ويژوال بيسيک بنويسيد در حاليکه سرعت اجرای آن همان سرعت برنامه ای است که با #C يا ++C نوشته شده است. و اين به آن دليل است که هر زبانی که برنامه نويس انتخاب کند در نهايت برنامه توليد شده به کد MSIL تبديل خواهد شد.

دليل دوم اينکه چون همه زبان های NET. به يک زبان ميانی تبديل می شوند، لذا اين زبان ها در کنار يکديگر بخوبی کار می کنند. بعنوان مثال شما می توانيد از کلاسی که به زبان ويژوال بيسيک نوشته شده است در زبان #C استفاده نمائيد.