آموزش توسعه Web API ناهمگام (Asynchronous) در ASP.NET Core 10 - آخرین آپدیت

دانلود Developing an Asynchronous ASP.NET Core 10 Web API

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: بسیاری از توسعه‌دهندگان می‌دانند که چگونه از async و await استفاده کنند، اما تعداد کمی درک می‌کنند که در پشت صحنه واقعاً چه اتفاقی می‌افتد یا چگونه از اشتباهات ظریفی که منجر به کمبود منابع Thread Pool، گم شدن استثناها (Exceptions) و ناسازگاری داده‌ها در محیط عملیاتی می‌شود، جلوگیری کنند. در این دوره، «توسعه Web API ناهمگام در ASP.NET Core 10»، شما توانایی نوشتن کدهای async صحیح و مقیاس‌پذیر برای Web APIهای ASP.NET Core 10 را به دست خواهید آورد. ابتدا بررسی خواهید کرد که وقتی یک متد را با async علامت‌گذاری می‌کنید، کامپایلر چه چیزی تولید می‌کند، Thread Pool چگونه درخواست‌ها را مدیریت می‌کند و از کدام انواع بازگشتی (Return Types) باید استفاده کنید. سپس خواهید آموخت که چگونه CancellationTokens را از درخواست HTTP تا دیتابیس و سرویس‌های خارجی منتقل کنید، چگونه داده‌ها را با IAsyncEnumerable استریم کنید و چگونه فراخوانی‌های HTTP مقاوم (Resilient) را با سیاست‌های تکرار (Retry) و تایم‌اوت آگاه از لغو (Cancellation-aware) ادغام کنید. در نهایت، یاد می‌گیرید که رایج‌ترین ضد-الگوهای (Anti-patterns) ناهمگام مانند sync-over-async، استفاده از Task.Run در سرور، تغییر وضعیت‌های مشترک (Shared State)، فراخوانی‌های Fire-and-forget و لامبداهای async در LINQ را شناسایی و رفع کنید. پس از اتمام این دوره، شما مهارت‌ها و دانش پیشرفته توسعه ناهمگام مورد نیاز برای ساخت Web APIهای ASP.NET Core 10 را خواهید داشت که هم‌زمانی (Concurrency)، لغو درخواست و خطاها را به درستی در محیط عملیاتی مدیریت می‌کنند.

سرفصل ها و درس ها

درک قدرت کدهای ناهمگام Understanding the Power of Asynchronous Code

  • مقدمه Introduction

  • چرا Async برای APIها حیاتی است Why Async Matters for APIs

  • تفاوت کارهای I/O bound و Computational bound I/O-bound vs. Computational-bound Work

  • درون کامپایلر: ماشین وضعیت Async Inside the Compiler: The Async State Machine

  • انواع بازگشتی Async Async Return Types

پیاده‌سازی یک جریان ناهمگام جامع (End-to-End) Implementing an End-to-end Async Flow

  • دمو: راه‌اندازی Async Repository Demo: Setting up the Async Repository

  • دمو: راه‌اندازی Async Controller Demo: Setting up the Async Controller

  • دمو: ایجاد Endpoints در Minimal API به صورت Async Demo: Creating Async Minimal API Endpoints

  • دمو: Async EF Core؛ چه چیزی را باید Await کرد و چه چیزی را نه Demo: Async EF Core, What to Await, and What Not To

پشتیبانی از لغو درخواست از HTTP تا دیتابیس Supporting Cancellation from the HTTP Request Down to the Database

  • چرا لغو درخواست (Cancellation) در سرور اهمیت دارد Why Cancellation Matters on the Server

  • دمو: انتقال CancellationToken از کنترلر به ریپازیتوری و EF Core Demo: Propagating CancellationToken from Controller to Repository to EF Core

  • دمو: سیاست‌های تایم‌اوت با CancellationTokenSource Demo: Timeout Policies with CancellationTokenSource

  • دمو: مدیریت استثناهای لغو و پاکسازی منابع Demo: Handling Cancellation Exceptions and Resource Cleanup

  • دمو: پیاده‌سازی صحیح IAsyncDisposable Demo: Implementing IAsyncDisposable Correctly

  • لغو درخواست و سازگاری داده‌ها: چه زمانی نباید لغو کرد Cancellation and Data Consistency: When NOT to Cancel

پشتیبانی از استریمینگ ناهمگام Supporting Asynchronous Streaming

  • تکرار (Iteration) همگام در مقابل ناهمگام Synchronous vs. Asynchronous Iteration

  • دمو: استریم کردن کتاب‌ها با IAsyncEnumerable<T> Demo: Streaming Books with IAsyncEnumerable<T>

  • استریم کردن داده‌های حجیم و الگوهای داده‌های بلادرنگ Streaming Large Payloads and Real-time Data Patterns

  • پاسخ‌های استریم در مقابل بافری: چه زمانی از کدام استفاده کنیم Streaming vs. Buffered Responses: When to Use Which

ادغام با سرویس‌های خارجی Integrating with External Services

  • دمو: فراخوانی ناهمگام یک سرویس خارجی Demo: Calling an External Service Asynchronously

  • دمو: فراخوانی‌های متعدد سرویس؛ متوالی در مقابل هم‌زمان Demo: Multiple Service Calls, Sequential vs. Concurrent

  • دمو: لغو فراخوانی‌های سرویس خارجی با Linked Token Sources Demo: Cancellation with External Service Calls, Linked Token Sources

  • هم‌زمانی Async در مقابل پردازش موازی: چرا Task.Run و Parallel.ForEach مضر هستند Async Concurrency vs. Parallel Processing: Why Task.Run and Parallel.ForEach Hurt

  • دمو: تاب‌آوری با Microsoft.Extensions.Http.Resilience Demo: Resilience with Microsoft.Extensions.Http.Resilience

  • تایم‌اوتهای تاب‌آوری در مقابل قطع اتصال کلاینت: مسیرهای مختلف استثناها Resilience Timeouts vs. Client Disconnects: Different Exception Paths

  • دمو: انتقال CancellationToken در فراخوانی‌های هم‌زمان همراه با تاب‌آوری Demo: Passing CancellationToken Through Concurrent Calls with Resilience

  • دمو: ترکیب کتاب و جلدها در یک پاسخ واحد Demo: Combining the Book and Covers into One Response

تست، نظارت و عیب‌یابی Async Web APIها Testing, Observing, and Troubleshooting Async Web APIs

  • دمو: اندازه‌گیری مقیاس‌پذیری: تست فشار با bombardier و dotnet counters Demo: Measuring Scalability: Load Testing with bombardier and dotnet-counters

  • دمو: تشخیص کمبود Thread Pool و تردهای مسدود شده Demo: Diagnosing Thread Pool Starvation and Blocked Threads

  • دمو: پیکربندی تایم‌اوت درخواست‌های ورودی برای آزادسازی منابع Demo: Configuring Incoming Request Timeouts to Free Up Resources

  • دمو: تست واحد (Unit Testing) متدهای Async Repository Demo: Unit Testing Async Repository Methods

  • دمو: تست یکپارچگی (Integration Testing) نقاط اتصال Async با WebApplicationFactory Demo: Integration Testing Async Endpoints with WebApplicationFactory

  • چرخه کامل حیات یک درخواست The Complete Request Lifecycle

ضد-الگوها و تله‌های برنامه‌نویسی Async Async Anti-patterns and Pitfalls

  • تله: Sync over async Pitfall: Sync-over-async

  • تله: Async over sync Pitfall: Async-over-sync

  • تله: تغییر وضعیت‌های مشترک از طریق تسک‌های هم‌زمان Pitfall: Modifying Shared State from Concurrent Tasks

  • تله: Fire and forget و استثناهای گم شده Pitfall: Fire-and-forget and Lost Exceptions

  • تله: لامبداهای Async در LINQ Pitfall: Async Lambdas in LINQ

  • توضیح ConfigureAwait(false): چرا در ASP.NET Core به آن نیاز ندارید ConfigureAwait(false): Why You Don't Need It in ASP.NET Core

  • چک‌لیست: بهترین تمرین‌های برنامه‌نویسی Async Checklist: Async Best Practices

نمایش نظرات

آموزش توسعه Web API ناهمگام (Asynchronous) در ASP.NET Core 10
جزییات دوره
2h 59m
40
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
1
از 5
دارد
دارد
دارد
Kevin Dockx
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kevin Dockx Kevin Dockx

Kevin Dockx یک معمار ، نویسنده و مشاور راه حل مستقل است و در آنتورپ (بلژیک) زندگی می کند. این روزها او بیشتر به RESTful معماری و امنیت برنامه های وب و برنامه های تلفن همراه متمرکز شده است. با این اوصاف ، او همچنان مراقب پیشرفتهای جدید در مورد سایر محصولات موجود در پشته Microsoft .NET است. وی یک MVP مایکروسافت و یکی از اعضای هیئت مدیره RD MS Community است. او همچنین سخنران منظمی در کنفرانس های مختلف ملی و بین المللی و رویدادهای گروه کاربران است و در پروژه های متن باز متنوعی مانند Microsoft.AspNet.JsonPatch و Marvin.JsonPatch.Dynamic کار می کند. کوین دوست دارد به مکانهایی سفر کند که قبلاً آنها را ندیده است و در جمع چند دوست خوب از یک لیوان شراب لذت می برد.