ASP.NET Core Basics
418: I'm a Teapot
Separation of Concerns
Works on My Machine
Too Many Requests
100

The main entry point file for configuring an ASP.NET Core application. This file is responsible for setting up an app's configuration, dependency injection, middleware, and HTTP request pipeline


100

This HTTP header describes the media type of the request body

What is Content-Type?

100

This construct defines a set of methods or properties without providing an implementation

What is an interface?

100

The .NET package manager

What is NuGet?

100

This term refers to the ability of a system to react to failure and remain functional. This is achieved by designing apps to handle failures gracefully and recover quickly

200

These components are executed in order and can inspect, modify, or short-circuit an HTTP request before it reaches an endpoint

200

This HTTP status code is used when a resource already exists during creation

What is 409 Conflict?

200

This pattern is often used to separate presentation logic from business logic in web applications

200

A test that validates multiple components working together

What is an integration test?

200

This resiliency pattern enforces an upper time limit on an operation

What is a timeout policy?

300

This type of service is created only once for the lifetime of the application

300

A value extracted from the URL path rather than the query string

What is a route parameter?

300

This pattern abstracts data access behind an interface, allowing swapping storage implementations without changing business logic

300
A fake dependency used to control test behavior

What is a mock?

300

This resiliency pattern stops requests to a repeatedly failing service to prevent cascading failures and allow the service to recover effectively

400

This ASP.NET Core feature allows services to be registered once and resolved automatically at runtime

400

This HTTP status code indicates the server cannot fulfill the request's media type

What is 415 Unsupported Media Type?

400

This design pattern creates objects without exposing instantiation logic, allowing higher-level code to depend on abstractions rather than concrete types

400

This acronym denotes the process of automatically building and testing code every time a team member commits code changes to version control. A commit to the main or trunk branch of a shared repository triggers the automated build system to build, test, and validate the full branch. 

400

This resiliency pattern divides a system into separate partitions to prevent a failure from affecting the entire system

500

Injecting this service lifetime into a singleton can lead to state or runtime exceptions when processing subsequent requests

What is a scoped service?

https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection#scoped

- Transient lifetimes are not as error prone, but injecting transient -> singleton will hold a single transient instance for the life of the singleton. This violates the transient service's new instance per use pattern.

500

A property of HTTP methods where repeated calls produce the same result

500

Splitting read operations from write operations to improve clarity and scalability is an example of this architectural approach

What is CQRS (Command Query Responsibility Segregation)


https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs

500

This situation occurs when two or more tests wait for a resource held by the other, causing the test suite to hang indefinitely

500

The ability to monitor, measure, and understand the internal state of a system from the data it produces and the ability to explore that data to answer questions about system events and failures

M
e
n
u