نمایش نتایج 1 تا 3 از 3

نام تاپیک: سوال در مورد تفاوت استفاده از Using در کار با دیتابیس

  1. #1

    Question سوال در مورد تفاوت استفاده از Using در کار با دیتابیس

    سلام و احترام


    من در حقیقت می خوام می خوام بدونم که ما چه زمان هایی باید از بلوک Using استفاده کنیم و چه زمان هایی نباید استفاده کنیم و تا چه حد در سرعت تاثیر می زاره . ممنون می شم به صورت عمقی توضیحات مربوط را در مورد تفاوت دو کد زیر بفرمایید


    Public ActionResult Register()
    {
    using(var db=new ApplicationDbContext())
    {
    // Insert Command
    }
    }






    Public ActionResult Register()
    {
    var db=new ApplicationDbContext();
    // Insert Command
    }

    با تشکر و احترام

  2. #2

    نقل قول: سوال در مورد تفاوت استفاده از Using در کار با دیتابیس

    در دات نت هروقت شما با چیزی کار می کنید که شامل کد مدیریت نشده هست باید از Using استفاده کنید. این یک توصیه در جهت استفاده ی بهینه از منابع سیستم است و لزما باعث عدم اجرای برنامه یا باگ نمی شود. امروزه سیستمها منابع استفاده نشده ی زیادی دارند و به چالش کشیدن چند گیگابایت رم با پردازنده های چند هسته ای به این آسانی ها ممکن نیست.

    منظور از کد مدیریت شده Managed Code این هست که کد در زمان لازه به طور خوکار از حافظه خارج میشود. به طور کلی کلاسهای دات نت دارای این قابلیت هستند. اما بخشهای از دات نت به منابع خارجی (مثل فایلها یا دیتابیس ها یا موتورهای بازی و اشیای COM ...) متصل میشوند که با دات نت نوشته نشده اند و تضمینی برای خالی شدن حافظه بعد از پایان کارشان نمی دهند. به این نوع کدها Unmanaged Code یا کد مدیریت نشده گفته میشود.

    هر وقت شما با کد مدیریت نشده سروکار داره بهتر است آن بخش درون یک Using قرار بگیرد.

    هر وقت شما کلاسی تعریف کردید و درون اون کلاس از اینترفیس IDisposable استفاده کردید یعنی شما مجبور بودید برای خالی کردن منابع کلاس مستقیما کد نویسی کنید (UnManaged Code دارید)
    در این مواقع هم باید از Using استفاده کنید.

  3. #3

    نقل قول: سوال در مورد تفاوت استفاده از Using در کار با دیتابیس

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    در دات نت هروقت شما با چیزی کار می کنید که شامل کد مدیریت نشده هست باید از Using استفاده کنید. این یک توصیه در جهت استفاده ی بهینه از منابع سیستم است و لزما باعث عدم اجرای برنامه یا باگ نمی شود. امروزه سیستمها منابع استفاده نشده ی زیادی دارند و به چالش کشیدن چند گیگابایت رم با پردازنده های چند هسته ای به این آسانی ها ممکن نیست.

    منظور از کد مدیریت شده Managed Code این هست که کد در زمان لازه به طور خوکار از حافظه خارج میشود. به طور کلی کلاسهای دات نت دارای این قابلیت هستند. اما بخشهای از دات نت به منابع خارجی (مثل فایلها یا دیتابیس ها یا موتورهای بازی و اشیای COM ...) متصل میشوند که با دات نت نوشته نشده اند و تضمینی برای خالی شدن حافظه بعد از پایان کارشان نمی دهند. به این نوع کدها Unmanaged Code یا کد مدیریت نشده گفته میشود.

    هر وقت شما با کد مدیریت نشده سروکار داره بهتر است آن بخش درون یک Using قرار بگیرد.

    هر وقت شما کلاسی تعریف کردید و درون اون کلاس از اینترفیس IDisposable استفاده کردید یعنی شما مجبور بودید برای خالی کردن منابع کلاس مستقیما کد نویسی کنید (UnManaged Code دارید)
    در این مواقع هم باید از Using استفاده کنید.
    سلام

    خیلی ممنون از شما . پس من اینطور برداشت کردم که به طور مثال ما از یک وب سرویس استفاده می کنیم بهتره که using استفاده کنیم و برای ارتباط با دیتابیس که کلاس applicationdbcontext رو بازسازی می کنیم نیازی نیست از using استفاده کنیم . آیا این مورد درست است ؟ و همجا در مورد ارتباط با دیتابیس صدق می کنه ؟

    تشکر و احترام

تاپیک های مشابه

  1. سوال: استفاده از وب سرویس ارتیاط با دیتابیس در کلاینت
    نوشته شده توسط fatima2007 در بخش WCF , Web Services , .Net Remoting
    پاسخ: 1
    آخرین پست: پنج شنبه 29 مرداد 1394, 19:59 عصر
  2. مشکل در کار با دیتابیس access از طریق vb
    نوشته شده توسط mahdyari77 در بخش VB.NET
    پاسخ: 20
    آخرین پست: شنبه 21 خرداد 1390, 19:41 عصر
  3. استفاده از فایلها در کار با دیتابیس
    نوشته شده توسط ali190 در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 23 آذر 1389, 08:16 صبح
  4. مبتدی: سوال در کار با Profile
    نوشته شده توسط clover در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 11 آبان 1388, 09:42 صبح
  5. استفاده از کلاس برای کار با DataBase در تمام برنامه
    نوشته شده توسط sa_ostad در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: سه شنبه 22 مرداد 1387, 00:07 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •