Minification (كوچكسازي)
تمام فايلهاي CSS و JS كه بهصورت پيشفرض به پروژههاي ASP.NET MVC اضافه ميشد، بهينه شده و تمام خطوط اضافه و نظرات برنامهنويسان اين فايلها حذف شده است و علاوه بر اين، نام متغيرها نيز كوچك شده است تا يك نسخه سبك از آنها ارائه شود. با اينكار شما ديگر نگران جابهجايي حجم زيادي از اطلاعات با سرور خود نخواهيد بود.
Bundling (متمركزسازي)
ممكن است شما چند فايل CSS براي پروژه خود تعريف كنيد. براي مثال، يكي براي محتوا و reset و ديگري براي layout خود و بهوسيله Bundling، تمام فايلهاي CSS خود را در يك فايل داشته باشيد. خود ASP.NET MVC براساس قرارداد نامي مشخص، آنها را به ترتيب در يك فايل قرار ميدهد؛ مثلا reset هميشه اولين CSS در فايل حاصل خواهد بود.
Mobile
در نسخه ۳ هم شما ميتوانستيد با تغيير در CSS و JS در وبسايت خود كاري كنيد كه در مرورگرهاي موبايل بدرستي نمايش داده شود؛ اما در اين نسخه مايكروسافت اين ويژگي را به صورت داخلي در ASP.NET MVC گنجانده است و با استفاده از jQuery Mobile ميتوانيد وبسايت براي موبايل ايجاد كنيد. Project Template هنگام ايجاد يك پروژه جديد MVC وجود دارد و خود ASP.NET MVC وظيفه رندركردن و ايجاد فايلهاي مورد نياز براي اينكه يك وبسايت را به همان صورت كه در رايانه شخصي انجام ميدهد در موبايل و با توجه به اندازه آن رندر ميكند.
Project template
پروژههاي جديد در اين نسخه نسبت به نسخه قبلي، از قالبهاي بيشتري براي توسعه برنامهها برخوردار است. شما براحتي ميتوانيد پروژههاي خود را با آن اجرا و از آن استفاده كنيد. بهطور مثال، استفاده بيشتر از AJAX و OAuth در پروژههاي جديد و همانطور كه در بالا توضيح داده شد، قالبي براي اجراي پروژههاي موبايل. تمام تغييراتي كه در بالا توضيح داده شد، تغييرات در لايه بيروني ASP.NET MVC بود، اما در پشت پرده نيز اتفاقات ديگري افتاده است.
Web API
همانگونه كه در شمارههاي پيش در مورد Web API و ايجاد وب سرويسهاي مبتني بر RESTful توضيح داديم Web API نسبت به WCF خيلي راحتتر و سريعتر شده است. از آنجا كه معماري آن بر پايه MVC بنا نهاده شده براي كساني كه پيش از اين با ASP.NET MVC كار كردهاند پيچيدگي خاصي ندارد. هسته اصلي Web API يا همان ApiController ميتواند با بازگرداندن يك شيء« IQueryable«T مانند سرويسهايي كه پيش از اين با استفاده از OData پياده ميشد، استفاده شود.
Async (غير همروند)
اين ويژگي به شما امكان اجراي غيرهمروند يك اكشن را در ASP.NET MVC ميدهد و ميتواند براي كارهاي بزرگ و زماني كه تراكنش با سرور و بانك اطلاعاتي زياد است، مورد استفاده قرار گيرد. در اين حالت شما به معرفي دو متد براي اينكار نياز داشتيد، دقيقا مانند همان چيزي كه Asynchronous Programming در ويندوز وجود دارد. يك متد شما كاري كه نياز به پردازش بيشتر دارد در Thread Pool قرار ميگيرد تا به نوبت اجرا شود، سپس دادههاي خود را به تابع ديگر ميدهد تا وظيفه خود را براي نمايش اطلاعات و ارسال آن به بخش View را به عهده گيرد. اما در نسخه جديد با توجه به توسعه ويژگي جديد به زبان # C و VB.NET به نام Asynchronous ، تعريف دو متد حذف شد و به جاي آن از ويژگي Asynchronous استفاده ميشود. به كد زير دقت كنيد:
public async Task«ActionResult» Index(string city) { var newsService = new NewsService(); var sportsService = new SportsService();
return View("Common",
new PortalViewModel {
NewsHeadlines = await newsService.GetHeadlinesAsync(),
SportsScores = await sportsService.GetScoresAsync()
});}
.: Weblog Themes By Pichak :.