The [______] attribute in ASP.NET Core is used to specify the route template for an action method.

  • Route
  • HttpPost
  • Authorize
  • ValidateAntiForgeryToken
In ASP.NET Core, the [Route] attribute is used to define the route template for an action method. This template determines how the URL should be structured to access the method. For example, [Route("api/products")] specifies that the method should be reachable at the URL "api/products."

After a user logs into your application, you want to display a personalized greeting like "Welcome, [Username]!". How can you fetch the username of the currently logged-in user in ASP.NET Core?

  • Use HttpContext.User.Identity.Name
  • Query the database for the username
  • Prompt the user to enter their username after login
  • Use a hardcoded username
In ASP.NET Core, you can fetch the username of the currently logged-in user by accessing HttpContext.User.Identity.Name. This property contains the username of the authenticated user, allowing you to display a personalized greeting like "Welcome, [Username]!".

What is the primary purpose of the [Authorize] attribute in ASP.NET Core?

  • Authentication
  • Authorization
  • Caching
  • Logging
The [Authorize] attribute in ASP.NET Core is primarily used for Authorization, not Authentication. It restricts access to a particular action method or controller to only authenticated users who meet specific authorization requirements. This helps in controlling who can access different parts of your application based on roles or policies.

In the context of Razor, what were "Master Pages" used for in the older versions of ASP.NET?

  • Defining a consistent layout for web pages
  • Managing database connections
  • Handling HTTP requests
  • Creating server controls
In the context of older versions of ASP.NET, "Master Pages" were used to define a consistent layout for web pages. They allowed developers to create a template or master layout that contained the common structure and elements shared by multiple pages, similar to Razor Layout Views in ASP.NET Core. Master Pages helped maintain a uniform appearance across a website.

How does the "Worker Service" template in ASP.NET Core differ from the traditional web application templates?

  • It focuses on client-side rendering.
  • It's designed for background processing tasks without HTTP endpoints.
  • It uses the Model-View-Controller (MVC) pattern.
  • It has a built-in database.
The "Worker Service" template in ASP.NET Core is tailored for background processing tasks, such as scheduled jobs, message processing, and other non-HTTP tasks. It doesn't include the typical web application features like HTTP endpoints, controllers, or views, making it ideal for scenarios where you don't need to handle HTTP requests.

Which file in an ASP.NET Core project typically contains project metadata, package dependencies, and project-specific settings?

  • Program.cs
  • Startup.cs
  • appsettings.json
  • project.json
The appsettings.json file in an ASP.NET Core project typically contains project metadata, package dependencies, and project-specific settings. It's a JSON configuration file used to store various configuration values for the application, such as database connection strings, logging settings, and custom application settings. This separation of configuration from code promotes flexibility and maintainability in ASP.NET Core applications.

What distinguishes the Kestrel web server in the ASP.NET Core ecosystem?

  • It's a Windows-exclusive web server
  • It's a cross-platform, lightweight, and high-performance web server
  • It's a reverse proxy server
  • It's used for database management
Kestrel is a distinctive component in the ASP.NET Core ecosystem because it's a cross-platform, lightweight, and high-performance web server. Unlike some other web servers that are platform-specific, Kestrel can run on Windows, Linux, and macOS, making it a preferred choice for ASP.NET Core hosting. It is often used in combination with reverse proxy servers like Nginx or IIS for production scenarios.

You've been asked to implement email confirmation for new users. Which steps would be essential in implementing this feature using ASP.NET Core Identity?

  • Configure Email Service, Update Startup.cs, Send Confirmation Link, Add ConfirmEmailAsync
  • Update User Profile, Configure SMTP Server, Use SendGrid, Modify User Registration
  • Use Third-Party Library, Configure Azure AD, Enable Cookies, Update NuGet Packages
  • Create a New View, Implement CAPTCHA, Configure Anti-Forgery Tokens, Add OAuth Authentication
Implementing email confirmation in ASP.NET Core Identity involves several steps. You need to configure an email service, update the Startup.cs to include email settings, send a confirmation link to the user's email, and add a ConfirmEmailAsync method to confirm the email address when the link is clicked.

You are creating a website and want to add a folder for storing images, scripts, and CSS files. Which default folder in ASP.NET Core would you typically use?

  • wwwroot
  • App_Data
  • Views
  • Controllers
In ASP.NET Core, the 'wwwroot' folder is the default location for storing static web assets like images, scripts, and CSS files. These assets can be directly served to clients without the need for additional routing.

How can you protect a controller action to be accessible only by users with the role "Admin" using the [Authorize] attribute?

  • [Authorize(Roles = "Admin")]
  • [Authorize("Admin")]
  • [Authorize(Admin)]
  • [Authorize(Role = "Admin")]
To restrict a controller action to users with the "Admin" role, you should use the [Authorize(Roles = "Admin")] attribute. This attribute ensures that only users with the specified role can access the action.