پس از 15 سال از عرضه اولین نسخه ASP.NET، مایکرسافت تصمیم گرفت که نسخه جدید ASP.NET را با توجه به نیازهای وب اپلیکیشنهای امروزی بازطراحی کند. حالا این فریمورک دارای سورس باز است و میتوان کدهای آن را دید و در روند توسعه آن شرکت کرد و از قابلیت cross-platfrom نیز برخوارد است که علاوه بر ویندوز و IIS, میتوان آن را بر روی لینوکس و مکینتاش و دیگر وب سرورها مثل Kestrel اجرا کرد. ASP.NET دیگر وابسته به system.web.dll نیست و در عوض  با توجه به مدل طراحی pay-for-what-you-use  و بسته به نیاز پروژه، هر آنچه را که لازم دارید از طریق Nuget نصب میکنید. در نسخه جدید بر روی افزایش سرعت تمرکز زیادی شده است تا جایی در نسخه RC 1.0 با توجه به benchmarkهای گرفته شده، توان پردازش درخواستها 2300% بیشتر شده است. بخشی از قابلیتهای جدید ASP.NET عبارتند از:

  • پیاده سازی جدید HTTP Request Pipeline بصورت ماجولار و سبکتر
  • قابلیت هاست بر روی IIS و دیگر وب سرورها یا بصورت SlefHost
  • قابلیت پیاده سازی همزمان بر روی نسخه NET Core. و Full .NET Framework
  • عرضه کل ASP.NET بصورت پکیجهای Nuget 
  • ادغام MVC و Web API
  • پشتیبانی توکار از Dependency Injection
  • قابلیت Cross-platform و اجرا بر روی لینوکس و مکینتاش
  • دارای متن باز و شرکت در روند توسعه
  • و ...

با توجه به قابلیتهای جدید، مفاهیم جدیدی نیز معرفی شده اند و همچنین با تغییراتی که در سطح معماری ASP.NET بوجود آمده است ساختار پروژه ASP.NET نیز تغییر کرده است که در ادامه به معرفی مفاهیم جدید و تغییرات بوجود آمده می پردازیم.

.NET Execution Environment (DNX)

DNX در واقع software development kit (SDK) و runtime environment است که شامل هر آنچه برای ساخت و اجرای یک اپلیکیشن .NET  بر روی ویندوز، لینوکس یا مک است. DNX منطق و روند هاست کردن CLR و پیدا کردن نقطه ورودی اپلیکیشنها را فراهم میکند. در واقع DNX امکان توسعه اپلیکیشنها را بر روی یک پلتفرم و اجرای آنها بر روی پلتفرمهای دیگر (cross-platform) میسر میسازد.