Skip to main content

Posts

Showing posts with the label dotnetcoreapi

Fixing High CPU Usage in .NET Core using Parallelism

  We will fix problem occurs due to incorrect use Parallelism in .NET Core To increase application performance sometimes we use process task or work extensively in Parallel and that may lead performance issue. When we do code, we should understand our requirement very carefully along with hardware resources those we have. We should code like that there should be less CPU usage and server should work without issues. In .NET Core, when you’re using parallelism (like Parallel.For, Task.WhenAll, or Task.Run), you might encounter performance issues if the number of concurrent threads or tasks exceeds what your system can efficiently handle. A common issue is high CPU usage or resource contention, which can degrade overall performance, cause excessive context switching, and even lead to thread starvation or deadlocks. Non members can access from here Effective Parallelism Strategies to Mitigate High CPU Usage in .NET Core We will fix problem occurs due to incorrect use Parallelism in .NE...

Fixing Multiple If-Else problem with Chain of Responsibility Pattern

  Situation will become unmanageable if we have lot of if else condition in our code, Lets understand problem and then we will see it’s Solution. Problem with Multiple If Conditions Using multiple if-else conditions to handle different cases can lead to code that is hard to read, maintain, and extend. Here’s a simple example using multiple if conditions in a leave management system. We will implement below Business Logic for Leave management system a. IF Leave < = 3, then Team Lead will approve b. IF Leave < =5, then Project Manager will approve c. IF Leave > 5, then HR Manager will approve Request first go to team lead to check if Request can be handled by  Team lead  else it will go to  Project Manager  else request will go to  HR manager Example with Multiple If Conditions public class LeaveRequest { public string EmployeeName { get ; set ; } public int NumberOfDays { get ; set ; } public string Reason { get ; set ; } } publi...