ویژگی های جدید ASP.Net MVC 6

شنبه 17 مرداد 1394

در این مقاله به معرفی ویژگی های جدید MVC 6 می پردازیم.

ویژگی های جدید ASP.Net MVC 6

بررسی اجمالی (Model View Controller (MVC

 MVC یک فریم ورک، برای ساخت برنامه های کاربردی وب با استفاده از یک طراحی مشخص می باشد.

حرف M از Model، حرف  V از View و C از Controller گرفته شده است.

Model

مدل بخشی از برنامه می باشد که منطق داده های برنامه را کنترل می کند.

عمدتا، شیء مدل، داده ها را در پایگاه داده ذخیره می کند و یا داده ها را از پایگاه داده بازیابی می کند.

Views

View قسمتی از برنامه کاربردی می باشد که برای نمایش داده ها به کار می رود.Viewها از روی داده های مدل ساخته می شوند.

Controller

controller، بخشی از برنامه کاربردی می باشد که برای تعامل با کاربر به کار می رود. در واقع controller پلی بین View و مدل می باشد. معمولا controller داده ها را از view می خواند و داده های ورودی کاربر را کنترل می کند و آن ها را به Model ارسال می کند.

حال باهم ویژگی های جدید در ASP.Net MVC 6 را بررسی می کنیم.

Full Framework در مقایسه با Cloud-optimized Framework:

مایکروسافت وابستگی های کتابخانه System.Web.Dll را در MVC 6 حذف کرده است. برای اینکه میزان حافظه مصرفی آن ها در هر پاسخ و دریافت 30 کیلو بایت می باشد که پر هزینه می باشد. در حالی که درMVC 6 میزان حافظه مصرفی در هر پاسخ و دریافت 2k می باشد و حافظه مصرفی آن کمتر است.

MVC6  بخشی از  ASP.NET 5 است که برای طراحی نرم افزار  cloud-optimized طراحی شده است.   در زمان اجرا، به طور اتوماتیک نسخه صحیح کتابخانه نرم افزارMVCرا که روی cloud مستقر شده بر می دارد.

مایکروسافت MVC نرم افزارهای  MVC , Web API , WebPage را در کنار هم قرار داده و در مجموع نرم افزار MVC 6 را ساخته است.

بسیاری از مشکلات با استفاده از کامپایلر Roslyn حل می شوند. در vNext ،ASP.NET از این کامپایلر استفاده می کند. این کامپایلر به طور اتوماتیک کدهای برنامه را کامپایل می کند بنابراین به کامپایل کردن برنامه نیاز نداریم. شما می توانید فایل کد را ویرایش کنید و با بارگذاری مجدد صفحه (refresh) تغییرات را بدون توقف برنامه یا بازسازی پروژه (Build) مشاهده کنید.

اجرا بر روی هاست های دیگری به جز سرور ویندوزی(IIS)

جایی که از MVC5 استفاده می کنیم، می توانیم روی سرور ویندوزی IIS میزبانی کنیم وهمچنین می توانیم آن را در بالای یک ASP. Net Pipeline اجرا کنیم، از طرف دیگر  MVC 6  ویژگی دیگری دارد که آن را کامل تر می کند و این ویژگی این است که خودش روی IIS serrve و self-user pipeline میزبانی می شود.

سیستم تنظیمات مبتنی بر محیط 

پیکربندی سیستم، محیطی را فراهم می کند، تا به راحتی برنامه های کاربردی را روی  cloud قرار دهیم. برنامه ما درست مثل یک ارائه دهنده پیکربندی کار می کند.و این به بازیابی مقادیر از منابع پیکربندی مختلف  مثل  XML کمک می کند.

MVC6 شامل یک سیستم تنظیمات مبتنی بر محیط جدید می باشد.برخلاف نسخه های قبلی که فقط  به فایل Web.Config وابسته بودند

Dependency injection

با استفاده از  IServiceProvider interface می توانیم به راحتی نگهدارنده dependency injection خود را اضافه کنیم. می توانیم پیاده سازی های پیش فرض را با نگهدارنده های خودمان جایگزین کنیم.

پشتیبانی از  OWIN

در نرم افزارهای MVC6 کنترل کاملی بر composable pipeline داریم. OWIN abstraction را ساپورت میکند.

کامپوننت های مهم نرم افزار MVC6

 درMVC6 یک نوع فایل جدید مانند فایل زیر وجود دارد.

حال محتوای این فایل ها را بررسی می کنیم.

Config.Json

این فایل حاوی پیکربندی برنامه در مکان های مختلف می باشد.ما می توانیم فایل پیکربندی نرم افزار خود را در فایل های دیگری هم تعریف کنیم.در این نرم افزار نیاز نیست تا نگران نحوه اتصال به منابع مختلف برای بدست آوردن مقدار تنظیمات باشیم.

در کد زیر ما connection string را به فایل Config.json اضافه می کنیم.

{  
    "Data": {  
        "DefaultConnection": {  
            "ConnectionString": "Server=server_name;Database=database_name;Trusted_Connection=True;MultipleActiveResultSets=true"  
        }  
    },  

فایل Project.json

این فایل حاوی اطلاعات ساخت و پیش نیاز های پروژه می باشد.و همچنین می تواند شامل دستورات استفاده شده در برنامه باشد.

{  
      
    "webroot": "wwwroot",  
    "version": "1.0.0-*",  
    "dependencies": {  
        "Microsoft.AspNet.Mvc": "6.0.0-beta1",  
        "Microsoft.AspNet.Server.IIS": "1.0.0-alpha4",  
    },  
    "commands": {  
        /* Change the port number when you are self hosting this application */  
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000",  
  
    },  
    "frameworks": {  
        "aspnet50": { },  
        "aspnetcore50": { }  
    },  
  
} }  

فایل Startup.cs

زمانی که متد configure به هنگام  استفاده از کلاس Startup توسط هاست، استفاده می شود،  Application Builder به عنوان یک پارامتر استفاده می شود.

Global.json 

این فایل برای تعریف محل ارجاع پروژه می باشد.بنابراین پروژه ها می توانند به یک دیگر ارجاع بزنند.

تعریف درخواست Pipeline 

در  فایل Startup.cs متد startup وجود دارد.

public Startup(IHostingEnvironment env)  
{  
            // Setup configuration sources.  
            var Configuration = new Configuration();  
            Configuration.AddJsonFile("config.json");  
             Configuration  .AddEnvironmentVariables();  
        }  

ایجاد یک Controller

متد Controller مشابه Controller درMVC 5 می باشد.

public class HomeController : Controller  
{  
        public IActionResult Index()  
        {  
            return View();  
        }  

فضای نام  آن ، Microsoft.ASPNET.MVC می باشد در حالی که در نسخه قبلی System.Web.MVC بود و این تفاوت بزرگی است. درMVC 6 برنامه کاربردی نیاز ندارد تا از کلاس controller مشتق شود .در کنترلر ما بسیاری از ویژگی های پیش فرض وجود دارد.اغلب نیاز داریم که از کلاس controller ارث بری کنیم اما اگر به همه ی امکانات ارائه شده توسط کلاس کنترلر نیاز نداشته باشیم.می توانیم کلاس controller خود را تعریف کنیم.

 

public class HomeController : Controller  
{  
        public ActionResult Index()  
        {  
            return View();  
        }  
        public string atul()  
        {  
            return "hello i am mvc6";  
  
        }  

اگر متد بالا را اجرا کنیم احتمالا صفحه زیر را مشاهده می کنیم.

 

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید