Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: SP.NET MVC 5? ASP.NET Core is a cross-platform, open-source framework for building modern web pplications, APIs, and microservices. It’s a complete rewrite of the old ASP.NET framework, designed to be light…
Short answer: Entity Framework Core (EF Core) is a modern, lightweight, cross-platform ORM (Object Relational Mapper) from Microsoft. It allows .NET developers to work with databases using .NET objects, without writing m…
Short answer: ASP.NET Core is a cross-platform, open-source framework for building modern web applications, APIs, and microservices. Explain a bit more It’s a complete rewrite of the old ASP.NET framework, designed to be…
Short answer: A REST (Representational State Transfer) API is an architectural style for designing networked applications. It uses HTTP methods (GET, POST, PUT, DELETE) to perform operations on resources identified by UR…
Short answer: Claims-based authentication is based on claims — pieces of information about the user (like email, role, or permissions). Explain a bit more Each user has a collection of claims represented as key-value pai…
Short answer: Claims-based authentication is based on claims — pieces of information about the user (like email, role, or permissions). Explain a bit more Each user has a collection of claims represented as key-value pai…
Short answer: HTTP provides the transport mechanism and defines methods: GET → Retrieve data POST → Create resource PUT → Update resource DELETE → Remove resource PATCH → Partial update Real-world example (ShopNest) Crea…
Short answer: An endpoint is a specific URL that represents a resource in a REST API. 👉 Example: → Represents user with ID 1. Real-world example (ShopNest) Creating an order is POST /api/orders → 201 with Location heade…
Short answer: ASP.NET Core Data Protection API provides secure cryptographic APIs for: Encrypting cookies and tokens Protecting form data Persisting secure keys (across app restarts) Setup: builder.Services.AddDataProtec…
Short answer: ASP.NET Core Data Protection API provides secure cryptographic APIs for: Encrypting cookies and tokens Protecting form data Persisting secure keys (across app restarts) Setup: builder.Services.AddDataProtec…
Short answer: In REST, everything is modeled as a resource (users, products, orders). Each resource is identified by a URI and can be manipulated using standard HTTP methods. Real-world example (ShopNest) Creating an ord…
Short answer: Middleware is software that sits between client requests and server responses. Used for: Logging Authentication & Authorization Request validation Error handling Rate limiting Real-world example (ShopNe…
Short answer: Idempotency means multiple identical requests have the same effect as one. PUT → Updating a resource with the same data multiple times results in no further change. DELETE → Deleting a resource repeatedly s…
Short answer: uthorizationHandler<MinimumAgeRequirement> { protected override Task HandleRequirementAsync(...) { // logic } } Register in DI and use with [Authorize(Policy = "...")]. Real-world example (S…
Short answer: Filters run in a specific order depending on their type: Authorization filters run first. Explain a bit more Resource filters run next. Model binding happens after resource filters. Action filters run aroun…
Short answer: Filters receive context objects (e.g., ActionExecutingContext) providing: HTTP context and request data. Access to action parameters. Ability to modify or cancel execution (e.g., short-circuit). Access to t…
Short answer: Filters can short-circuit by setting the result early, preventing further execution: public void OnActionExecuting(ActionExecutingContext context) Example code { if (!IsAuthorized()) { context.Result = new…
Short answer: CORS (Cross-Origin Resource Sharing) is a browser security feature that restricts web pages from making requests to a different domain than the one that served the web page, to prevent cross-site attacks. C…
Short answer: IActionResult: Represents a non-generic result of an action method. Can return any HTTP response (Ok, NotFound, Redirect, etc.). ActionResult<T>: Combines a result with a typed value (T). It allows re…
Short answer: In .NET 5 and earlier, Startup configures services and middleware. In .NET 6+ minimal hosting model, the Program.cs file combines service registration and middleware setup with a simplified, top-level state…
Short answer: Minimal APIs are lightweight endpoints defined with top-level statements, no controller classes. Ideal for microservices or simple APIs. Less ceremony and fewer files. Controllers provide richer features (f…
Short answer: Introduced in ASP.NET Core 3.0. Centralized routing system that decouples route matching from middleware. Routes requests to endpoints defined by controllers, Razor Pages, minimal APIs. Supports route-based…
Short answer: pplied globally. Attribute routing: Routes declared directly on controllers/actions via attributes ([Route], [HttpGet]). Attribute routing is more flexible and explicit. Real-world example (ShopNest) ShopNe…
Short answer: types Automatically selects response format (JSON, XML) based on Accept header. Configured via formatters in MVC options. Falls back to default formatter if no match. Real-world example (ShopNest) ShopNest…
Short answer: Standardized error response format defined by RFC 7807. Contains properties like status, title, detail, instance. Used by default in ASP.NET Core for error responses. Real-world example (ShopNest) A ShopNes…
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: SP.NET MVC 5? ASP.NET Core is a cross-platform, open-source framework for building modern web pplications, APIs, and microservices. It’s a complete rewrite of the old ASP.NET framework, designed to be lightweight, modular, and cloud-ready. Key Differences: Feature ASP.NET MVC 5 ASP.NET Core Platform Windows only Cross-platform (Windows, macOS,… Linux)……… Hosting IIS only Kestrel, IIS, Nginx, Apache, self-hosting…
Configuration web.config (XML) appsettings.json (JSON-based) Dependency Injection Third-party libraries Built-in DI container Modularity Monolithic Modular via NuGet packages Example: In ASP.NET MVC 5, you’d deploy only to IIS on Windows. {
public void ConfigureServices(IServiceCollection services)
{ services.AddControllers(); }
public void Configure(IApplicationBuilder app)
{ pp.UseRouting(); pp.UseEndpoints(endpoints => endpoints.MapControllers());
}
} 🧭 6. Explain the purpose of Program.cs in .NET 6+. In .NET 6+, Startup.cs and Program.cs merged into one minimal host configuration file. It sets up the web host, configuration, logging, and middleware pipeline. Example: var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); pp.MapControllers(); pp.Run(); It’s simpler, faster, and easier to read. Minimal APIs are a lightweight way to build small HTTP APIs without controllers or ttributes. Perfect for microservices. Example: var app = WebApplication.Create(args);
{ [HttpGet("{id}")] public IActionResult Get(int id) => Ok($"Product {id}");
} 🧩 11. What is Endpoint Routing? Endpoint routing separates route matching from execution. It lets middleware (like authentication) know which endpoint will be executed before it runs. Example: pp.UseRouting(); pp.UseAuthorization(); pp.UseEndpoints(endpoints => endpoints.MapControllers()); 🔄 12. Explain the role of middleware in ASP.NET Core. Middleware are components that handle requests and responses in a pipeline. Each can: Process requests Call the next middleware Or short-circuit the pipeline Example: logging middleware that runs before all others: pp.Use(async (context, next) => { Console.WriteLine("Request: " + context.Request.Path); wait next(); }); 🕒 13. What is the order of middleware execution? Middleware execute in the order they’re added in Program.cs. Response flows in reverse order back up the chain. Tip: Authentication must come before Authorization. UseRouting must come before UseEndpoints. 🧩 14. How to create custom middleware? Example: public class RequestLoggingMiddleware
{
private readonly RequestDelegate _next;
public RequestLoggingMiddleware(RequestDelegate next) => _next = next; public async Task Invoke(HttpContext context)
{ Console.WriteLine($"Request for: {context.Request.Path}"); wait _next(context); }
} Register it: pp.UseMiddleware<RequestLoggingMiddleware>(); 🧱 15. What is the difference between middleware and filters? Feature Middleware Filter Scope Entire app Controller/action level Runs on Every request MVC actions only Example Authentication, logging Validation, exception filters ⚒ 16. Explain the IApplicationBuilder interface. IApplicationBuilder builds the middleware pipeline. You use it in Startup.Configure() or Program.cs to add middleware via Use, Run, nd Map. 🔀 17. Difference between Use, Run, and Map in middleware. Metho Description Example Use Adds middleware that can call the next component. pp.UseMiddleware<Logging>(); Run Terminates the pipeline — no next middleware. pp.Run(async c => await c.Response.WriteAsync("End")); Map Branches pipeline based on request path. pp.Map("/admin", a => .Run(...)); 🏗 18. What are Hosting Models in ASP.NET Core (In-process vs Out-of-process)? Model Description Performance In-process App runs inside IIS worker process (w3wp.exe). Faster (single process) Out-of-proces IIS acts as reverse proxy to Kestrel. Slight overhead Example: For Windows servers, in-process gives best performance. For cross-platform Docker, use out-of-process. 🌍 19. Explain Web Host vs Generic Host. Host Type Used For Example Web Host Web apps (ASP.NET Core ≤ 2.2) WebHost.CreateDefaultBui lder() Generic Host ny app: web, worker, console (≥ 3.0) Host.CreateDefaultBuilde r() Generic Host unifies background tasks, APIs, and services in one model. ⚙ 20. How does configuration binding work in SP.NET Core? ASP.NET Core can automatically bind configuration from: appsettings.json Environment variables Command-line arguments Example: // appsettings.json { "AppSettings": { "SiteName": "MyShop", "Version": "1.0" }
} // POCO public class AppSettings
{
public string SiteName { get; set; }
public string Version { get; set; }
} // Program.cs builder.Services.Configure<AppSettings>( builder.Configuration.GetSection("AppSettings")); You can inject IOptions<AppSettings> anywhere. MVC Architecture & Controllers
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: Entity Framework Core (EF Core) is a modern, lightweight, cross-platform ORM (Object Relational Mapper) from Microsoft. It allows .NET developers to work with databases using .NET objects, without writing most SQL manually. {
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } public DbSet<Product> Products { get; set; }
} 🧱 4. What are Migrations? Migrations allow you to evolve your database schema as your models change, without losing existing data. Commands: dotnet ef migrations add InitialCreate dotnet ef database update This creates a Migrations folder with code that applies schema changes automatically. 🧩 5. What is the OnModelCreating method used for? OnModelCreating is where you configure entity behavior and relationships using the Fluent API. Example: protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Product>() .Property(p => p.Name) .HasMaxLength(100) .IsRequired(); modelBuilder.Entity<Order>() .HasMany(o => o.Items) .WithOne(i => i.Order) .HasForeignKey(i => i.OrderId);
} Use it for constraints, relationships, indexes, seeding, and more. 💤 6. How do you enable Lazy Loading in EF Core? Lazy loading means related entities are loaded automatically when accessed. To enable it: Install the package: dotnet add package Microsoft.EntityFrameworkCore.Proxies
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: ASP.NET Core is a cross-platform, open-source framework for building modern web applications, APIs, and microservices.
It’s a complete rewrite of the old ASP.NET framework, designed to be lightweight, modular, and cloud-ready. In ASP.NET MVC 5, you’d deploy only to IIS on Windows. In ASP.NET Core, the same app can run on a Linux server using Nginx + Kestrel — perfect for Docker or cloud environments. ⚙ 2. Explain the request-processing pipeline in ASP.NET Core. ASP.NET Core handles incoming requests through a middleware pipeline. Each middleware can process, modify, or short-circuit requests before they reach the endpoint. Flow
Request → Middleware 1 (Logging) → Middleware 2 (Authentication) → Middleware 3 (Routing) → Controller / Endpoint → Response → Back through pipeline Follow : Example: If you log requests, check authentication, and handle static files — they execute in the order you add them in Program.cs. app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.MapControllers(); 🧱 3. What is Kestrel? Kestrel is a cross-platform web server built into ASP.NET Core. It’s fast, lightweight, and serves as the default web server. You can run it standalone or behind a reverse proxy like IIS or Nginx. Real Example: When you run dotnet run, your app listens on — that’s Kestrel serving your app. 🖥 4. What is the role of IIS when hosting ASP.NET Core apps? IIS acts as a reverse proxy. It forwards incoming HTTP requests to the Kestrel server running your ASP.NET Core app. This setup provides: Process management (auto-restart) Port sharing (multiple sites) Windows authentication Logging and monitoring Follow : In short: IIS → forwards → Kestrel → runs the app. 🚀 5. What is the Startup class used for? The Startup class defines how your app configures services (DI, authentication, etc.) and sets up middleware (routing, static files, error pages, etc.). Example: public class Startup public void ConfigureServices(IServiceCollection services) services.AddControllers(); public void Configure(IApplicationBuilder app) app.UseRouting(); app.UseEndpoints(endpoints => endpoints.MapControllers()); 🧭 6. Explain the purpose of Program.cs in .NET 6+. In .NET 6+, Startup.cs and Program.cs merged into one minimal host configuration file. It sets up the web host, configuration, logging, and middleware pipeline. Example: var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); Follow : app.MapControllers(); app.Run(); It’s simpler, faster, and easier to read. 🔹 7. What is a Minimal API? Minimal APIs are a lightweight way to build small HTTP APIs without controllers or attributes. Perfect for microservices. Example: var app = WebApplication.Create(args); app.MapGet("/hello", () => "Hello World!"); app.Run(); This single file can run a full REST endpoint. 🧰 8. What is the WebApplicationBuilder in .NET 6/7/8? WebApplicationBuilder simplifies creating and configuring a web host. It combines: IHostBuilder WebHostBuilder Configuration Services Example: var builder = WebApplication.CreateBuilder(args); Follow : builder.Services.AddDbContext<AppDbContext>(); builder.Services.AddControllers(); Then you call builder.Build() to create the WebApplication. 🛣 9. How does routing work in ASP.NET Core MVC? Routing maps incoming URLs to controllers and actions. ASP.NET Core uses Endpoint Routing to decide which route matches a request. Example: app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); If the user visits /product/details/5, it maps to: ProductController → Details(int id = 5). 🏷 10. Difference between Conventional and Attribute Routing. Type Definition Example Conventional Routing Routes defined in Program.cs or Startup.cs. {controller=Home}/{action=Ind ex}/{id?} Attribute Routing Routes defined with attributes on controller actions. [Route("api/products/{id}")] Example: [Route("api/[controller]")] Follow : public class ProductsController : ControllerBase [HttpGet("{id}")] public IActionResult Get(int id) => Ok($"Product {id}"); 🧩 11. What is Endpoint Routing? Endpoint routing separates route matching from execution. It lets middleware (like authentication) know which endpoint will be executed before it runs. Example: app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => endpoints.MapControllers()); 🔄 12. Explain the role of middleware in ASP.NET Core. Middleware are components that handle requests and responses in a pipeline. Each can: Process requests Call the next middleware Or short-circuit the pipeline Example: A logging middleware that runs before all others: app.Use(async (context, next) => Console.WriteLine("Request: " + context.Request.Path); Follow : await next(); }); 🕒 13. What is the order of middleware execution? Middleware execute in the order they’re added in Program.cs. Response flows in reverse order back up the chain. Tip: Authentication must come before Authorization. UseRouting must come before UseEndpoints. 🧩 14. How to create custom middleware? Example: public class RequestLoggingMiddleware private readonly RequestDelegate _next; public RequestLoggingMiddleware(RequestDelegate next) => _next = next; public async Task Invoke(HttpContext context) Console.WriteLine($"Request for: {context.Request.Path}"); await _next(context); Register it: app.UseMiddleware<RequestLoggingMiddleware>(); Follow : 🧱 15. What is the difference between middleware and filters? Feature Middleware Filter Scope Entire app Controller/action level Runs on Every request MVC actions only Example Authentication, logging Validation, exception filters ⚒ 16. Explain the IApplicationBuilder interface. IApplicationBuilder builds the middleware pipeline. You use it in Startup.Configure() or Program.cs to add middleware via Use, Run, and Map. 🔀 17. Difference between Use, Run, and Map in middleware. Metho Description Example Use Adds middleware that can call the next component. app.UseMiddleware<Logging>(); Run Terminates the pipeline — no next middleware. app.Run(async c => await c.Response.WriteAsync("End")); Map Branches pipeline based on request path. app.Map("/admin", a => a.Run(...)); Follow : 🏗 18. What are Hosting Models in ASP.NET Core (In-process vs Out-of-process)? Model Description Performance In-process App runs inside IIS worker process (w3wp.exe). Faster (single process) Out-of-proces IIS acts as reverse proxy to Kestrel. Slight overhead Example: For Windows servers, in-process gives best performance. For cross-platform Docker, use out-of-process. 🌍 19. Explain Web Host vs Generic Host. Host Type Used For Example Web Host Web apps (ASP.NET Core ≤ 2.2) WebHost.CreateDefaultBui lder() Generic Host Any app: web, worker, console (≥ 3.0) Host.CreateDefaultBuilde r() Generic Host unifies background tasks, APIs, and services in one model. ⚙ 20. How does configuration binding work in ASP.NET Core? ASP.NET Core can automatically bind configuration from: appsettings.json Environment variables Follow : Command-line arguments Example: // appsettings.json "AppSettings": { "SiteName": "MyShop", "Version": "1.0" // POCO public class AppSettings public string SiteName { get; set; } public string Version { get; set; } // Program.cs builder.Services.Configure<AppSettings>( builder.Configuration.GetSection("AppSettings")); You can inject IOptions<AppSettings> anywhere. MVC Architecture & Controllers
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: A REST (Representational State Transfer) API is an architectural style for designing networked applications. It uses HTTP methods (GET, POST, PUT, DELETE) to perform operations on resources identified by URLs (endpoints). Data is usually exchanged in JSON or XML format.
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: Claims-based authentication is based on claims — pieces of information about the user (like email, role, or permissions).
Each user has a collection of claims represented as key-value pairs.
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: Claims-based authentication is based on claims — pieces of information about the user (like email, role, or permissions).
Each user has a collection of claims represented as key-value pairs.
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: HTTP provides the transport mechanism and defines methods: GET → Retrieve data POST → Create resource PUT → Update resource DELETE → Remove resource PATCH → Partial update
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: An endpoint is a specific URL that represents a resource in a REST API. 👉 Example: → Represents user with ID 1.
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: ASP.NET Core Data Protection API provides secure cryptographic APIs for: Encrypting cookies and tokens Protecting form data Persisting secure keys (across app restarts) Setup: builder.Services.AddDataProtection() .PersistKeysToFileSystem(new DirectoryInfo(@"c:\keys")) .SetApplicationName("MyApp"); You can use it directly: var protector =………… _provider.CreateProtector("MyPurpose"); var encrypted =…
protector.Protect("secret-data"); var decrypted = protector.Unprotect(encrypted); ✅ Data Protection is the backbone for: Cookie Authentication CSRF Tokens TempData encryption 🧠 Summary Concept Description Best For In-memory caching Stores data in server memory Single-server or dev Distributed caching Shared cache (Redis, SQL) Scalable apps Response caching Caches HTTP responses Public/static data Output caching (.NET 8) Advanced, user-aware caching Dynamic APIs Response compression Gzip/Brotli for responses Large payloads sync/await Non-blocking I/O High concurrency Startup optimization Faster app boot Cloud apps… ASP.NET Core Data…… var encrypted = protector.Protect("secret-data");
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Core MVC ASP.NET Core MVC Tutorial · MVC
Short answer: ASP.NET Core Data Protection API provides secure cryptographic APIs for: Encrypting cookies and tokens Protecting form data Persisting secure keys (across app restarts) Setup: builder.Services.AddDataProtection() .PersistKeysToFileSystem(new DirectoryInfo(@"c:\keys")) .SetApplicationName("MyApp"); You can use it directly: var protector =………… _provider.CreateProtector("MyPurpose"); var encrypted =…
protector.Protect("secret-data"); var decrypted = protector.Unprotect(encrypted); ✅ Data Protection is the backbone for: Cookie Authentication CSRF Tokens TempData encryption 🧠 Summary Concept Description Best For In-memory caching Stores data in server memory Single-server or dev Distributed caching Shared cache (Redis, SQL) Scalable apps Response caching Caches HTTP responses Public/static data Follow : Output caching (.NET 8) Advanced, user-aware caching Dynamic APIs Response compression Gzip/Brotli for responses Large payloads Async/await Non-blocking I/O High concurrency Startup optimization Faster app boot… ASP.NET Core Data……
ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: In REST, everything is modeled as a resource (users, products, orders). Each resource is identified by a URI and can be manipulated using standard HTTP methods.
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: Middleware is software that sits between client requests and server responses. Used for: Logging Authentication & Authorization Request validation Error handling Rate limiting
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Web API ASP.NET Core Web API Tutorial · REST API
Short answer: Idempotency means multiple identical requests have the same effect as one. PUT → Updating a resource with the same data multiple times results in no further change. DELETE → Deleting a resource repeatedly still results in it being deleted.
Creating an order is POST /api/orders → 201 with Location header. Fetching is GET /api/orders/{id} → 200 or 404.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: uthorizationHandler<MinimumAgeRequirement> { protected override Task HandleRequirementAsync(...) { // logic } } Register in DI and use with [Authorize(Policy = "...")].
A ShopNest checkout request flows through middleware, hits a minimal API or controller, uses scoped services, and returns ProblemDetails on errors.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Filters run in a specific order depending on their type: Authorization filters run first.
Resource filters run next. Model binding happens after resource filters. Action filters run around the action execution. Exception filters handle exceptions thrown during action or result execution. Result filters run around result execution. Within each type, filters can be ordered by their Order property and whether they are global, controller-level, or action-level.
A ShopNest ValidateModelAttribute runs before actions and returns 400 if ModelState is invalid—same rule for every controller.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Filters receive context objects (e.g., ActionExecutingContext) providing: HTTP context and request data. Access to action parameters. Ability to modify or cancel execution (e.g., short-circuit). Access to the result or exceptions. Ability to set result or modify response. This allows filters to inspect, modify, or block processing at their stage.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Filters can short-circuit by setting the result early, preventing further execution: public void OnActionExecuting(ActionExecutingContext context)
{
if (!IsAuthorized())
{
context.Result = new UnauthorizedResult(); // stops pipeline here }
} This prevents action execution and later filters from running.
A ShopNest ValidateModelAttribute runs before actions and returns 400 if ModelState is invalid—same rule for every controller.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: CORS (Cross-Origin Resource Sharing) is a browser security feature that restricts web pages from making requests to a different domain than the one that served the web page, to prevent cross-site attacks. CORS defines a way for servers to allow controlled access to resources from a different origin.
A ShopNest checkout request flows through middleware, hits a minimal API or controller, uses scoped services, and returns ProblemDetails on errors.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: IActionResult: Represents a non-generic result of an action method. Can return any HTTP response (Ok, NotFound, Redirect, etc.). ActionResult<T>: Combines a result with a typed value (T). It allows returning typed data or an HTTP response. Improves clarity and enables better OpenAPI docs.
ShopNest registers AppDbContext as Scoped and IMemoryCache as Singleton. Putting DbContext in a Singleton causes threading bugs.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: In .NET 5 and earlier, Startup configures services and middleware. In .NET 6+ minimal hosting model, the Program.cs file combines service registration and middleware setup with a simplified, top-level statement style. Startup can still be used for organization, but not required.
A ShopNest checkout request flows through middleware, hits a minimal API or controller, uses scoped services, and returns ProblemDetails on errors.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Minimal APIs are lightweight endpoints defined with top-level statements, no controller classes. Ideal for microservices or simple APIs. Less ceremony and fewer files. Controllers provide richer features (filters, model binding, action results).
ShopNest registers AppDbContext as Scoped and IMemoryCache as Singleton. Putting DbContext in a Singleton causes threading bugs.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Introduced in ASP.NET Core 3.0. Centralized routing system that decouples route matching from middleware. Routes requests to endpoints defined by controllers, Razor Pages, minimal APIs. Supports route-based middleware filters.
Introduced in ASP.NET Core 3.0. Centralized routing system that decouples route matching from middleware. Routes requests to endpoints defined by controllers, Razor Pages, minimal APIs. Supports route-based middleware filters.
A ShopNest checkout request flows through middleware, hits a minimal API or controller, uses scoped services, and returns ProblemDetails on errors.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: pplied globally. Attribute routing: Routes declared directly on controllers/actions via attributes ([Route], [HttpGet]). Attribute routing is more flexible and explicit.
ShopNest registers AppDbContext as Scoped and IMemoryCache as Singleton. Putting DbContext in a Singleton causes threading bugs.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: types Automatically selects response format (JSON, XML) based on Accept header. Configured via formatters in MVC options. Falls back to default formatter if no match.
ShopNest registers AppDbContext as Scoped and IMemoryCache as Singleton. Putting DbContext in a Singleton causes threading bugs.
ASP.NET Core ASP.NET Core Tutorial · ASP.NET Core
Short answer: Standardized error response format defined by RFC 7807. Contains properties like status, title, detail, instance. Used by default in ASP.NET Core for error responses.
A ShopNest checkout request flows through middleware, hits a minimal API or controller, uses scoped services, and returns ProblemDetails on errors.