Differences between Asp.net and Asp.net Core

Md Shykat - Jun 26 - - Dev Community

ASP.NET and ASP.NET Core are both frameworks for building web applications and services, but they have several key differences. Here are the main distinctions between the two:

1. Cross-Platform Support

  • ASP.NET: Primarily designed to run on Windows. It can run on Windows Server and Internet Information Services (IIS).

  • ASP.NET Core: Cross-platform, running on Windows, macOS, and Linux. It supports different web servers like Kestrel and IIS and can run in containers and cloud environments.

2. Performance

  • ASP.NET: Performance is good but not as optimized as ASP.NET Core.

  • ASP.NET Core: Highly optimized for performance. It is known for its high throughput and low latency, making it one of the fastest web frameworks available.

3. Modularity

  • ASP.NET: Monolithic framework, where many libraries and features are built-in and used by default.

  • ASP.NET Core: Modular framework, allowing developers to include only the libraries and features they need. This results in a smaller application footprint and better performance.

4. Unified Framework

  • ASP.NET: Separate frameworks for different tasks (e.g., ASP.NET MVC for web applications, ASP.NET Web API for building APIs).

  • ASP.NET Core: Unified framework combining MVC, Web API, and Razor Pages into a single programming model, simplifying development.

5. Dependency Injection

  • ASP.NET: Limited and less flexible support for dependency injection, often requiring third-party libraries.

  • ASP.NET Core: Built-in support for dependency injection, making it easier to manage dependencies and promote better software design practices.

6. Configuration and Logging

  • ASP.NET: Configuration is usually done via web.config files, and logging support is more basic.

  • ASP.NET Core: Uses a more flexible configuration system that supports various sources (e.g., JSON files, environment variables). It also includes a robust logging framework out of the box.

7. Razor Pages

  • ASP.NET: Does not have a direct equivalent to Razor Pages.

  • ASP.NET Core: Introduces Razor Pages, a page-based programming model that simplifies the development of page-centric web applications.

8. Blazor

  • ASP.NET: Does not support Blazor.

  • ASP.NET Core: Includes Blazor, a framework for building interactive web UIs with C#. Blazor WebAssembly runs in the browser, while Blazor Server runs on the server.

9. Open Source and Community

  • ASP.NET: Developed as a closed-source framework initially, with some components later open-sourced.

  • ASP.NET Core: Fully open-source from the start, with active contributions from the developer community, ensuring continuous improvement and innovation.

10. Hosting and Deployment

  • ASP.NET: Typically hosted on IIS on Windows Server.

  • ASP.NET Core: More flexible hosting options, including IIS, Kestrel, Nginx, Apache, and can be hosted in various environments like Docker containers and cloud services (e.g., Azure, AWS).

11. Cross-Platform Support

  • ASP.NET: Primarily developed using Visual Studio on Windows.

  • ASP.NET Core: Supports development with Visual Studio, Visual Studio Code, and the .NET CLI across all supported platforms (Windows, macOS, Linux).

. . .