تفاوت throw و throw ex در #C


throw مجددا خطا را صادر میکند با همان StackTrace قبلی. دقیقا خطای صادر شده را مجددا صادر میکند. اما اگر از throw ex استفاده کنید بازم هم همان خطای قبلی را صادر میکند اما با یک تفاوت, StackTrace را ریست میکند!. برای مثال در کد زیر در متد DoSomethig یک عملیات تقسیم بر صفر انجام میدهیم که باعث بروز ....
ادامه مطلب

تفاوت IOptions, IOptionsMonitor و IOptionsSnapshot


در مطلب قبل به نحوه خواندن دیتاها از appsettings.json توسط IOptions پرداختیم. در این مطلب به بررسی تفاوت بین IOptions, IOptionsMonitor و IOptionsSnapshot میپردازیم. اینترفیس IOptions به صورت Singleton عمل میکند و به همین دلیل میتواند در تمامی سرویس ها با هر نو ....
ادامه مطلب

خواندن دیتاها از appsettings.json در asp.net core


در asp.net core پارامترهایی مانند کانکشن استرینگ های دیتابیس, کانفیگ های مربوط به سرویس ها, دیتاهایی که به ندرت تغییر میکنند را در فایل appsettings.json قرار میدهند و هر زمان که نیاز باشد آنها را از appsetting.json دریافت کنند باید از IConfiguration استفاده ....
ادامه مطلب

تفاوت async و sync


در مطلب قبلی نحوه کار Thread Pool ارائه شد. در این مطلب به بررسی تفاوت بین متدهای async و sync میپردازیم که فرق بین این دو نوع چیست و چرا باید از متدهای async استفاده کنیم. زمانی که شما یک متد را به صورت sync مینویسید و به طور مثال میخواهید عملیات ذخیره کردن دیتاهارا انجام دهید ....
ادامه مطلب

نحوه کار Thread pool در #C


زمانی که درخواستی به برنامه Net. ارسال میشود, برای هندل کردن درخواست یک Thread ایجاد میشود. زمانی که یک Thread ایجاد میشود مقداری منابع مانند مموری به Thread اختصاص می یابد. و در نهایت زمانی که کار انجام میشود Garbage Collector, ابجکت ایجاد شده ب ....
ادامه مطلب