انجام عملیات CURD با استفاده از برنامه نویسی نا همگام در MVC 5

یکشنبه 7 دی 1393

این مقاله شرح استفاده از برنامه نویسی ناهمگام و قابلیت های CURD با برنامه نویسی ناهمگام در MVC 5 می باشد.

انجام عملیات CURD با استفاده از برنامه نویسی نا همگام در MVC 5

مقدمه

در ASP.NET MVC 5 خیلی جا ها شما از Scaffolding و Entity Framework استفاده می کنید.

ما معمولا برای انجام عملیات CURD (ایجاد، خواندن، به روز رسانی و حذف) از برنامه نویسی همزمان استفاده می کنیم.

در این مقاله ما میخواهیم 4 عمل اصلی رو به صورت غیر همزمان انجام دهیم.

قبل از توضیح لازم به ذکر است که دلیل استفاده از برنامه نویسی غیر همزمان توضیح داده شود که چرا ما باید از این روش استفاده کنیم:

معمولا فرایندهای بسیار زیادی برای وب سرور موجود می باشد حال اگر افزایش بار در وب سرورزیاد شود و تمام فرایندهای آن در حال استفاده باشند در چنین وضعیتی سرو قادر به رسیدگی درخواست جدید تا زمان آزادشدن رو ندارد.

در برنامه نویسی همزمان ، فرآیندهای کارگر ممکن است گره خورده باشند در حالی که آنها در واقع هیچ کاری انجام نمیدهند و  در واقع منتظر تکمیل عملیات  I / O هستند.

هنگامی که ما از از برنامه نویسی ناهمگام استفاده می کنیم زمانی که عملیات I/O کامل نیست فرایند های کارگر برای استفاده آزاد هستند بنابراین، برنامه نویسی ناهمگام منابع سرور را  به استفاده موثرتر قادر می سازد.

این امر در .NET Framework 4.5  خیلی آسانتر شده است.

پیش نیاز ها :   Visual Studio 2013 وMVC 5.1.1

حال یک پروژه جدید از نوع mvc بسازید فرض بر این است که مدل را از قبل ساخته اید از رو ی پایگاه داده یا به صورت Code First فرقی نمیکند
 سپس نوبت به ساخت کنرلر خود از رو ی مدل می رسد :

همانطور که در تصویر مشاهده می کنید قسمتی که دور آن کادر کشیده شده است رو شما باید تیک بزنید زمانی که شما از برنامه نویسی غیر همزمان استفاده می کنید اگر به کنترل خود بروید متد index آنرا به شکل زیر مشاهده خواهید کرد:

public async Task<ActionResult> Index()

{

    return View(await db.Employees.ToListAsync());

}

که به کامپایلر می گوید که برای همه بخش ها از بدنه متد CallBack تولید کند و به صورت خودکار شی  که بازگشنت داده می شود از <Task<ActionResult ایجاد کند.

 

 

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

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

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

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