ASP.NET Core简单介绍教程(1)
asp.net core 是一个全新的开源、跨平台框架,可以用它来构建基于网络连接的现代云应用程序,比如:web 应用,iot(internet of things,物联网)应用和移动后端等。asp.net core可以运行在 .net core 或完整的 .net framework 之上,其架构为发布到云端或本地运行的应用提供了一个最佳的开发框架,由开销很小的模块化组件构成,这就保持了你构造解决方案的灵活性。你可以跨平台地在windows、mac和linux等设备上开发和运行你的 asp.net core 应用。asp.net core 的源代码已经在 github 上托管。
asp.net core历史
asp.net已经被使用来开发web应用程序很多年了。
一直以来,.net 框架经历了一个不断进化的过程,最后把我们带到最近的asp.net core1.0。
- asp.net core 不是asp.net 4.6的延续。这是一个全新的框架
- 它实际上重写了现有的asp.net 4.6框架,但小得多,而且更加模块化。
- 有些人认为很多东西都是相同的,但这并不完全正确。asp.net core相对于asp.net发生了很多根本性的变化,在后续的课程中,我们将注意了解。
什么是asp.net core
asp.net core 1.0 是一个开源跨平台的开发框架,用于构建基于云的现代 web 应用 。它是从底层开始重新构建来提供性能优良的web应用开发框架,可以部署在云上或者本地服务器上。另外,它使得 asp.net 应用更加精简和模块化(可以根据你的应用需要向里面添加其他模块),跨平台(你可以很容易的在 windows, mac or linux 上开发和部署你的应用),云优化(你可以在云上在云上部署和调试你的应用)。
asp.net core特点:
跨平台
可以在windows,macos,linux上运行
灵活的部署机制
1.portable applications(便携式应用)
这种部署机制和传统的.net framework相似,只要目标平台上存在.net core runtime即可。
2.self-contained application(自宿主应用)
顾名思义,这种部署机制将应用和运行时共同打包,即便目标平台上没有安装.net core runtime也能正常使用。
第二种方式和.net native也是不一样的,仍然使用coreclr,而.net native使用corert作为运行时,详细信息请见dotnet/corert。
命令行工具
.net程序所有的运行脚本都可以用命令行工具执行(cmd,bash)这里有几个常见的donnet命令
asp.net core的优势
asp.net core有以下优势:
- asp.net core相对于之前的版本有许多变化,才使得它成为一个更加灵活和模块化的框架。
- asp.net core不再是基于system.web.dll,它基于一组分解在nuget的包。
- 这使您可以根据实际需要来判断是否引用相应的nuget包,可以优化您的应用程序。
- 表面积更小的应用程序的好处包括安全更强、维修更少,提高性能,降低成本
使用asp.net core开发程序,你可以得到以下的改进:
- 在windows、mac和linux构建和运行跨平台的asp.net core应用。
- 基于.net core的应用,支持真正的应用程序版本控制。
- 新的开发工具使得开发起来更简单。
- web ui和web api都有简单一致的web堆栈。
- 云计算环境相关的配置。
- 对依赖注入的内置支持。
- 标签助手使razor标签与html标记更自然。
- 能部署在iis中,也能部署在自定义的宿主环境中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
ASP.NET Core环境变量和启动设置的配置教程
-
asp.net core系列 66 Dapper介绍--Micro-ORM
-
Asp.Net Core 学习教程1、初始.Net Core与VS Code 第一个web程序
-
ASP.NET Core身份认证服务框架IdentityServer4 介绍
-
1.ASP.NET Core介绍
-
asp.net core 系列 1 概述
-
[Asp.Net Core] Blazor Server Side 开发教程 - 安装环境与运行第一个程序
-
CentOS开发ASP.NET Core入门教程
-
【.NET Core】ASP.NET Core之IdentityServer4(1):快速入门
-
gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)