کتاب Effective Error Handling and Debugging in ASP.NET Core

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب Effective Error Handling and Debugging in ASP.NET Core

موضوع کلی: برنامه نویسی

موضوع میانی: ای‌اس‌پی دات نت کور (ASP.NET Core)

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. چرا مدیریت خطا و دیباگینگ در ASP.NET Core حیاتی است؟
  • 2. تعریف خطاها: انواع، علل و تأثیرات بر نرم‌افزار
  • 3. سیکل زندگی خطا: از کشف تا رفع
  • 4. معرفی ASP.NET Core و معماری مرتبط با خطا
  • 5. تفاوت‌های خطاها در زمان کامپایل، زمان اجرا و خطاهای منطقی
  • 6. هزینه‌های خطاهای مدیریت‌نشده در پروژه‌های واقعی
  • 7. مقدمه‌ای بر Exceptionها در C#
  • 8. ساختار `try-catch-finally` برای مدیریت استثناها
  • 9. درک سلسله‌مراتب Exceptionها در .NET
  • 10. Catch کردن استثناهای خاص و عمومی
  • 11. استفاده از چندین بلوک `catch`
  • 12. بلوک `finally` و کاربردهای آن
  • 13. پرتاب استثنا (`throw`)
  • 14. تفاوت `throw ex` و `throw` برای حفظ Stack Trace
  • 15. ایجاد Custom Exceptionها
  • 16. استفاده از `InnerException` برای اطلاعات بیشتر
  • 17. جمع‌آوری اطلاعات Exception: `Message`, `StackTrace`, `Source`
  • 18. استفاده از `using` statement برای مدیریت منابع قابل دفع (IDisposable)
  • 19. رویکردهای کلی: چه زمانی Exception را Catch کنیم و چه زمانی اجازه دهیم انتشار یابد؟
  • 20. مدیریت استثناها در متدهای Async/Await
  • 21. معماری درخواست/پاسخ در ASP.NET Core و جایگاه Middleware
  • 22. معرفی Middleware پیش‌فرض مدیریت خطا در ASP.NET Core
  • 23. استفاده از `UseDeveloperExceptionPage` برای توسعه
  • 24. طراحی صفحه خطای کاربرپسند در محیط تولید با `UseExceptionHandler`
  • 25. پیکربندی `UseExceptionHandler` برای مسیرهای مختلف
  • 26. مدیریت خطاهای HTTP Status Code با `UseStatusCodePages`
  • 27. نمایش صفحات خطای سفارشی برای کدهای وضعیت مختلف (مثال: 404, 500)
  • 28. ایجاد یک Custom Error Handling Middleware
  • 29. ثبت و لاگ کردن خطاها در Middleware
  • 30. دسترسی به جزئیات خطا در Context و `ExceptionFeature`
  • 31. اعمال سیاست‌های امنیتی: عدم نمایش اطلاعات حساس در خطاها
  • 32. تأثیر ترتیب Middlewareها بر مدیریت خطا
  • 33. مدیریت خطاهای Start-up و Host-level
  • 34. کار با IHostApplicationLifetime برای مدیریت Shutdown
  • 35. برخورد با خطاهای خارج از محدوده Middleware
  • 36. مدیریت خطاها در Razor Pages
  • 37. مدیریت خطاها در MVC Controllers
  • 38. مدیریت خطاها در Minimal APIs
  • 39. چالش‌های مدیریت خطا در RESTful APIs
  • 40. استانداردسازی پاسخ‌های خطا در API
  • 41. معرفی RFC 7807 Problem Details
  • 42. پیاده‌سازی Problem Details در ASP.NET Core
  • 43. ایجاد یک `ProblemDetailsFactory` سفارشی
  • 44. مدیریت خطاهای Model Validation با Problem Details
  • 45. استفاده از `IExceptionFilter` برای مدیریت گلوبال API Exceptionها
  • 46. تفاوت `IExceptionFilter` با Middleware
  • 47. پیاده‌سازی `IAsyncExceptionFilter`
  • 48. بهترین روش‌ها برای بازگرداندن پاسخ‌های خطا از API
  • 49. مقدمه‌ای بر Logging در ASP.NET Core
  • 50. استفاده از `ILogger` و `ILoggerFactory`
  • 51. سطوح Logging: Trace, Debug, Information, Warning, Error, Critical
  • 52. پیکربندی Logging در `appsettings.json`
  • 53. Log Providers داخلی: Console, Debug, EventSource, EventLog
  • 54. استفاده از Structured Logging برای تحلیل بهتر
  • 55. معرفی Serilog به عنوان یک کتابخانه محبوب Logging
  • 56. پیکربندی و ادغام Serilog در ASP.NET Core
  • 57. معرفی NLog و ادغام آن
  • 58. فیلتر کردن Logها بر اساس سطح و دسته
  • 59. ثبت اطلاعات Contextual (مانند Correlation ID)
  • 60. جلوگیری از لاگ کردن اطلاعات حساس (PII)
  • 61. نوشتن Log به فایل، دیتابیس یا سرویس‌های ابری
  • 62. Log کردن Exceptionها و جزئیات آنها
  • 63. بررسی عملکرد Logging و تأثیر آن بر Performance
  • 64. مقدمه‌ای بر دیباگر ویژوال استودیو
  • 65. انواع Breakpoint: خطی، شرطی، شمارشی و تابع
  • 66. عملیات گام‌به‌گام (Step Over, Step Into, Step Out)
  • 67. پنجره Call Stack: بررسی مسیر اجرای کد
  • 68. پنجره‌های Locals, Autos و Watch برای مشاهده متغیرها
  • 69. استفاده از Immediate Window برای ارزیابی کد در زمان اجرا
  • 70. Data Tips و Visualizers برای بررسی داده‌ها
  • 71. قابلیت Edit and Continue: تغییر کد حین دیباگینگ
  • 72. Attach to Process: دیباگ کردن یک فرآیند در حال اجرا
  • 73. دیباگ کردن تست‌های واحد و یکپارچه‌سازی
  • 74. دیباگ کردن کد‌های Async/Await
  • 75. دیباگ کردن پروژه‌های Multi-threaded
  • 76. استفاده از `Debug.Assert` و `Debug.WriteLine`
  • 77. دیباگ کردن پروژه‌های ASP.NET Core در IIS/IIS Express
  • 78. منابع و Symbol Files برای دیباگ کردن کتابخانه‌های خارجی
  • 79. پنجره Diagnostic Tools: بررسی CPU، Memory و Events
  • 80. استفاده از Event Log Viewer برای رویدادهای سیستم
  • 81. تولید و تحلیل Mini-dump و Full-dump در زمان خطا
  • 82. دیباگ کردن از راه دور (Remote Debugging)
  • 83. ابزارهای خط فرمان .NET برای Diagnostic (dotnet-monitor, dotnet-dump)
  • 84. پروفایلینگ Memory برای شناسایی نشتی حافظه
  • 85. پروفایلینگ CPU برای بهینه‌سازی عملکرد
  • 86. بررسی Deadlockها و Race Conditionها در برنامه‌های همروند
  • 87. دیباگ کردن ASP.NET Core در محیط Docker
  • 88. دیباگ کردن با Visual Studio Code در محیط‌های Cross-platform
  • 89. استفاده از قابلیت Hot Reload در .NET 6 به بالا
  • 90. تحلیل لاگ‌ها برای تشخیص مشکلات تولیدی
  • 91. طراحی برای تحمل خطا (Fault Tolerance)
  • 92. الگوی Retry (تلاش مجدد) برای عملیات ناپایدار
  • 93. الگوی Circuit Breaker برای جلوگیری از خرابی‌های آبشاری
  • 94. پیاده‌سازی Graceful Degradation (کاهش تدریجی عملکرد)
  • 95. تفاوت Validation و Exception Handling: چه زمانی از کدام استفاده کنیم؟
  • 96. Exception Propagation و طراحی مرزهای سیستم
  • 97. مدیریت خطا در Background Services و Workers
  • 98. Idempotency در عملیات: اطمینان از اجرای بی‌ضرر چندباره
  • 99. تست‌نویسی برای سناریوهای خطا و Exception Handling
  • 100. پایش و هشداردهی (Monitoring and Alerting) برای خطاهای تولیدی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.