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

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

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

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

درک قدرت کدهای ناهمگام 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 Return Types

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

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

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

  • دمو: ایجاد نقاط پایانی Minimal API ناهمگام Demo: Creating Async Minimal API Endpoints

  • دمو: 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

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

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

  • دمو: سیاست‌های Timeout با 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>

  • استریم کردن داده‌های حجیم و الگوهای داده‌های آنی (Real-time) 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

  • هم‌روندی ناهمگام در مقابل پردازش موازی: چرا 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

تست، مشاهده و عیب‌یابی وب‌ ای‌پی‌آی‌های ناهمگام 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) متدهای مخزن ناهمگام Demo: Unit Testing Async Repository Methods

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

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

ضدالگوها و تله‌های برنامه‌نویسی ناهمگام 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

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

نمایش نظرات

آموزش توسعه وب‌ ای‌پی‌آی (Web API) ناهمگام در 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 کار می کند. کوین دوست دارد به مکانهایی سفر کند که قبلاً آنها را ندیده است و در جمع چند دوست خوب از یک لیوان شراب لذت می برد.