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

کتابخانه کلاس ها در NET:
کتابخانه NET. دارای بیش از 3400 کلاس آماده جهت استفاده در برنامه ها است. بعضی از این کلاس ها همان کلاس های پایه مانند آرایه و رشته هستند. اما عمده این کلاس ها به پیاده سازی اعمال تخصصی مانند کار با فایل و یا تولید مستندات 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 استفاده نمائید.