1. What is ASP.NET Core?
Answer: ASP.NET Core is a cross-platform, high-performance,
open-source framework for building modern, cloud-based, and internet-connected
applications. It is a redesign of ASP.NET with improved performance, modularity,
and ease of deployment.
----------------------------------------------------------------
2. What are the key differences between ASP.NET Core and ASP.NET?
Answer: below are the key differences,
Cross-Platform: ASP.NET Core supports Windows, macOS, and Linux, whereas traditional ASP.NET is primarily Windows-based.
Performance: ASP.NET Core offers improved performance and
scalability.
Modularity: ASP.NET Core is more modular with a smaller
footprint, thanks to its NuGet package-based architecture.
Hosting: ASP.NET Core can be self-hosted or hosted on IIS,
unlike ASP.NET, which relies on IIS.
----------------------------------------------------------------
3. Describe the role of the Startup class in ASP.NET Core.
Answer: The Startup class in ASP.NET Core is used to
configure services and the app's request pipeline. It typically contains two
methods:
ConfigureServices: Used to register services with the
dependency injection container.
Configure: Used to define the middleware components that
process requests and responses.
----------------------------------------------------------------
4. Explain Dependency Injection in ASP.NET Core.
Answer: Dependency Injection (DI) is a design pattern used
in ASP.NET Core to achieve Inversion of Control (IoC) between classes and their
dependencies. ASP.NET Core has a built-in DI container that allows services to
be registered and injected into constructors of classes where they are needed.
----------------------------------------------------------------
6. How do you handle configuration in ASP.NET Core?
Answer: Configuration in ASP.NET Core is handled using the
ConfigurationBuilder class, which supports a variety of configuration sources
such as JSON files, environment variables, and command-line arguments.
Configuration settings are typically accessed through the IConfiguration
interface.
----------------------------------------------------------------
7. How do you handle authentication and authorization in
ASP.NET Core?
Answer: Authentication and authorization in ASP.NET Core are
handled using middleware and services configured in the
Startup.ConfigureServices and Startup.Configure methods. Common authentication
options include cookie-based, JWT tokens, OAuth, and identity providers like
IdentityServer. Authorization policies and role-based access control are
typically configured using the Authorize attribute.
----------------------------------------------------------------
8. What are the benefits of using ASP.NET Core for web development?
Answer:
- Cross-Platform: Develop on Windows, macOS, and Linux.
- High Performance: Improved speed and scalability.
- Unified Framework: Consistent development model for web and cloud applications.
- Modular: Lightweight, modular framework with NuGet packages.
- Community Support: Open-source with strong community and Microsoft support.
Answer: Deployment of ASP.NET Core applications can be done
in various ways:
- Docker: Containerize the application and deploy using Docker.
- Cloud Services: Use cloud platforms like Azure, AWS, or Google Cloud.
- IIS: Deploy to IIS on Windows using the Web Deploy tool or manual configuration.
- Self-Hosting: Use Kestrel or other web servers to host the application directly.
----------------------------------------------------------------
10. What is routing in ASP.NET Core and how is it configured?
Answer: Routing in ASP.NET Core is used to map incoming requests to corresponding endpoints (controllers, actions, Razor Pages). It is configured in the Startup.Configure method using the UseRouting and UseEndpoints methods.
For example:
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
------------------------------------------------------
No comments:
Post a Comment