In business applications, background occupations are typical. An application could have to handle uploaded documents, send hundreds of emails, provide reports, synchronize customer information, or update other systems. It is seldom a smart idea to carry out all of this work within one HTTP request. In addition to consuming request-handling resources and increasing response times, …
Tag: ASP.NET Hosting Tips
How to Determine Whether Your Application Is Slower After a Code Change?
A code modification may increase functionality at the expense of an application’s speed. Response times may rise without any evident issues due to a new database query, an extra API call, a more complicated computation, or an unneeded object creation. During development, these performance regressions are not always apparent. When hundreds of requests pour in …
How Can I Use OpenTelemetry in .NET to Track a Slow API Request?
Have you ever gotten a bug report stating that an API is responding slowly, but you are unable to identify the cause of the delay? Before providing a response, the request may take some time to run application code, wait for a database query, call another API, or process data. You cannot determine which component …
How to Use External HTTP API Mocking in .NET Integration Tests?
Seldom do applications operate alone. To fulfilll a request, an ASP.NET Core API may contact an identity provider, an inventory service, a payment gateway, or another internal API. The reliability of integration tests may be compromised by these additional dependencies. If an external system produces different data than anticipated, a network connection times out, or …
ASP.NET Master Resource-Based Authorization Fundamentals: Ensuring Record Ownership
Real-world applications frequently need more precise control, even while Role-Based Authorization manages broad access levels like Admin or User. What happens if access is contingent on a number of factors, such as the user’s age, location, or ownership of the particular resource they are attempting to modify? ASP.NET Core offers Policy-Based Authorization for these complex …
A Small Decision That Determines Whether Your Code Can Be Tested: Interface or Concrete Class in DI Registration
Lifetime selection Singleton, Scoped, or Transient usually receives the most attention when examining Dependency Injection configurations. Alongside it comes a less noticeable but no less significant detail: whether the registration registers a concrete class independently or translates an interface to an implementation. Although this decision seldom results in an obvious flaw, it may have a …
Rate Limiting in ASP.NET Core 11: Providing the Correct Retry-After Header
One of those things that often operates silently in the background is rate limitation. Requests are received by an API, the rate limiter counts them, and any further requests are met with a 429 Too Many Requests response. response if the configured limit is achieved. That part is straightforward. The more interesting question is what …
How to Use MSTest 4.4 to Test Native AOT.NET Applications?
The compilation and deployment of a.NET program are altered by native AOT. Native AOT creates a native executable in advance rather than sending IL that the.NET runtime builds during execution. This modification may reveal issues that don’t show up when the identical program uses the.NET runtime properly. Additional consideration should be given to reflection, runtime-specific …
Developing a Car Rental Console Application using SQL Server, Entity Framework Core, and C#
An excellent illustration of how various components of a.NET program interact is a car rental system. User identification, customer management, car availability, rental operations, database connectivity, validation, and session management are all included. This post will examine how to use C#, Entity Framework Core, SQL Server, and a layered architecture to construct the essential components …
NativeAOT Cold Start: The Unexpected.NET 10 Outcome No One Discusses
Data Layer at Scale — series: EF Core 10 AOT: what’s broken (link TBD) Dapper.AOT broken on .NET 10 (link TBD) Extern alias benchmarking (link TBD) Cold start vs density (this article) Allocation numbers for k8s (link TBD) The benchmark lied (link TBD) The data layer as a line item (link TBD) Measure, then migrate …