Telegram Group & Telegram Channel
یکی از مواقعی که بهتر است از async void استفاده کنیم.

تفاوت Async Void و Async Task در هنگام تعریف یک متد چیست و چه موقع میتوان از هرکدام استفاده کرد. اگر این متد ها داخل try-catch صدا زده شوند عملکرد هر کدام هنگام رخ دادن exception چگونه است؟

پاسخ:

توابع async Task به خودی خود خطا های درون آنها هندل میشوند اما async void یک تسک کاملا مستقل است که در صورت خطا خوردن باعث کرش کردن نرم افزار می شود.
مواقعی که میخواهید یک background job درست کنید از async void استفاده کنید و حتما توابع داخل انرا درون try catch بگذارید.
زمانی که شما async Task استفاده می کنید یعنی به برنامه نویس استفاده کننده در توابع async می فهمانید که باید آنرا await کند برنامه نویس نمی داند این یک تسک background است و ممکن است فراموش کند که نباید آنرا await کند و در صورت await کردن ممکن است تا ابد آن تابع منتظر پاسخ بماند تا پایان یابد در حالی که درون آن یک while true قرار دارد و هیچوقت پایان نمی یابد.
بنابراین در این شرایط بهتر است از async void استفاده شود تا برنامه نویس استفاده کننده دچار اشتباه نشود و آنرا await نکند.
در این صورت برنامه نویس نمی تواند آنرا await کند و نرم افزار بلافاصله آنکار را در بکگراند اجرا می کند.

@CSharpTips



tg-me.com/CsharpTips/318
Create:
Last Update:

یکی از مواقعی که بهتر است از async void استفاده کنیم.

تفاوت Async Void و Async Task در هنگام تعریف یک متد چیست و چه موقع میتوان از هرکدام استفاده کرد. اگر این متد ها داخل try-catch صدا زده شوند عملکرد هر کدام هنگام رخ دادن exception چگونه است؟

پاسخ:

توابع async Task به خودی خود خطا های درون آنها هندل میشوند اما async void یک تسک کاملا مستقل است که در صورت خطا خوردن باعث کرش کردن نرم افزار می شود.
مواقعی که میخواهید یک background job درست کنید از async void استفاده کنید و حتما توابع داخل انرا درون try catch بگذارید.
زمانی که شما async Task استفاده می کنید یعنی به برنامه نویس استفاده کننده در توابع async می فهمانید که باید آنرا await کند برنامه نویس نمی داند این یک تسک background است و ممکن است فراموش کند که نباید آنرا await کند و در صورت await کردن ممکن است تا ابد آن تابع منتظر پاسخ بماند تا پایان یابد در حالی که درون آن یک while true قرار دارد و هیچوقت پایان نمی یابد.
بنابراین در این شرایط بهتر است از async void استفاده شود تا برنامه نویس استفاده کننده دچار اشتباه نشود و آنرا await نکند.
در این صورت برنامه نویس نمی تواند آنرا await کند و نرم افزار بلافاصله آنکار را در بکگراند اجرا می کند.

@CSharpTips

BY C# Programming Guide


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/CsharpTips/318

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How to Use Bitcoin?

n the U.S. people generally use Bitcoin as an alternative investment, helping diversify a portfolio apart from stocks and bonds. You can also use Bitcoin to make purchases, but the number of vendors that accept the cryptocurrency is still limited. Big companies that accept Bitcoin include Overstock, AT&T and Twitch. You may also find that some small local retailers or certain websites take Bitcoin, but you’ll have to do some digging. That said, PayPal has announced that it will enable cryptocurrency as a funding source for purchases this year, financing purchases by automatically converting crypto holdings to fiat currency for users. “They have 346 million users and they’re connected to 26 million merchants,” says Spencer Montgomery, founder of Uinta Crypto Consulting. “It’s huge.”

Launched in 2013, Telegram allows users to broadcast messages to a following via “channels”, or create public and private groups that are simple for others to access. Users can also send and receive large data files, including text and zip files, directly via the app.The platform said it has more than 500m active users, and topped 1bn downloads in August, according to data from SensorTower.telegram from ua


Telegram C# Programming Guide
FROM USA