For projects focused on background tasks and might run as Windows services or Linux daemons, you should use the ________ template.
- Worker
- Web API
- Blazor
- MVC
The Worker template in ASP.NET Core is specifically designed for projects that focus on background tasks. It's ideal for creating services that perform work in the background and can be run as Windows services or Linux daemons. This template provides the necessary infrastructure for background task execution.
What's the main difference between using Database.EnsureCreated() and Migrations in Entity Framework Core?
- Database.EnsureCreated() creates a database if it doesn't exist, ignoring migrations
- Migrations allow for version control and tracking of database schema changes
- Database.EnsureCreated() is used for unit testing only
- Migrations are slower than EnsureCreated()
The main difference is that Database.EnsureCreated() creates a database without tracking schema changes, often used for development or unit testing, whereas migrations provide version control for your database schema, allowing you to apply, rollback, and manage changes over time.
When deploying an ASP.NET Core application using Docker, which file is crucial for defining the environment and settings of the container?
- Dockerfile
- appsettings.json
- Startup.cs
- Package.json
The crucial file for defining the environment and settings of a Docker container for an ASP.NET Core application is the Dockerfile. This file contains instructions on how to build the container image, what base image to use, and how to configure the environment.
For ensuring that the test runs in isolation, real services or components might be replaced with _________ during unit testing.
- Mocks
- Stubs
- Dummies
- Fakes
During unit testing, real services or components that are external to the unit being tested are often replaced with mocks or stubs. Mocks provide controlled behavior for testing without relying on the actual implementations of these external components.
What is the primary difference between the _ViewImports.cshtml and _ViewStart.cshtml files in Razor?
- _ViewImports.cshtml sets directives and namespaces
- _ViewStart.cshtml sets layout and common code
- They serve the same purpose
- _ViewStart.cshtml sets routing rules
The primary difference between _ViewImports.cshtml and _ViewStart.cshtml in Razor is their purpose. _ViewImports.cshtml is used to set directives, namespaces, and base class declarations for views, whereas _ViewStart.cshtml is used to specify common layout code and execute code before rendering views. _ViewStart.cshtml is typically used to set layout and execute code that should apply globally to multiple views.
When securing your ASP.NET Core Web APIs, which authentication approach uses a compact, URL-safe means of representing claims to be transferred between two parties?
- OAuth 2.0
- JSON Web Tokens (JWT)
- SAML (Security Assertion Markup Language)
- OpenID Connect
JSON Web Tokens (JWT) is an authentication approach commonly used in ASP.NET Core Web APIs. JWTs are compact and URL-safe, making them efficient for transferring claims between parties. They provide a secure way to represent user identities and access permissions.
You're building a simple website using ASP.NET Core. You want to display a friendly error page when something goes wrong in your application. What's the standard way to do this in ASP.NET Core?
- Custom Error Page
- Detailed Logging
- Exception Handling Middleware
- Using Console.WriteLine()
The standard way to display a friendly error page in ASP.NET Core is by using Exception Handling Middleware. This middleware captures unhandled exceptions and can be configured to display custom error pages, making it easier for users to understand what went wrong.
In a project where user registration is done programmatically, you want to ensure that users have a strong password and are locked out after 5 incorrect login attempts. Which class should you configure to enforce these rules?
- IdentityUser
- IdentityRole
- PasswordHasher
- IdentityOptions
To enforce password strength rules and configure account lockout settings, you should configure the IdentityOptions class. This class allows you to set various security-related options, including password complexity requirements and account lockout thresholds.
Which Razor directive is typically used at the beginning of a view file to specify its layout page?
- @layout
- @page
- @model
- @section
The @layout Razor directive is used at the beginning of a view file to specify its layout page in ASP.NET Core MVC. It allows you to define the layout that should be applied to the current view, providing a consistent structure for your web pages.
Your team is implementing a Continuous Integration (CI) pipeline for an ASP.NET Core application. What is the main reason for integrating automated tests into this CI pipeline?
- Ensure Code Quality
- Speed Up Deployment
- Reduce Server Costs
- Simplify Documentation
The main reason for integrating automated tests into a CI pipeline is to ensure code quality. Automated tests help catch bugs early in the development process, improve the reliability of the application, and provide confidence that changes won't introduce regressions. This ultimately leads to a higher-quality product.