.Net Core学习一
-什么是.Net Core?
.Net Core是.Net Framework的新一代版本,是微软开发的具有跨平台能力的开源应用框架(Windows Mac OSX Linux),ASP.NET Core 应用可运行于 .NET Core 和完整的 .NET Framework 之上。它整合了原来ASP.NET中的MVC和WebApi框架,你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.NET Core 应用,您使用.Net Core 可以:
创建 Web 应用程序和服务、IoT 应用和移动后端。
在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
部署到云或本地。
在 .NET Core 或 .NET Framework 上运行。
为何选择 ASP.NET Core?
数百万开发人员使用过(并将继续使用)ASP.NET 4.x 创建 Web 应用。 ASP.NET Core 是重新设计的 ASP.NET 4.x,更改了体系结构,形成了更精简的模块化框架。
ASP.NET Core 具有如下优点:
生成 Web UI 和 Web API 的统一场景。
针对可测试性进行构建。
Razor Pages 可以使基于页面的编码方式更简单高效。
Blazor 允许你在浏览器中使用 C# 和 JavaScript。 共享全部使用 .NET 编写的服务器端和客户端应用逻辑。
能够在 Windows、macOS 和 Linux 上进行开发和运行。
开放源代码和以社区为中心。
集成新式客户端框架和开发工作流。
基于环境的云就绪配置系统。
内置依赖项注入。
轻型的高性能模块化 HTTP 请求管道。
能够托管于以下各项:
Kestrel
IIS
HTTP.sys
Nginx
Apache
Docker
并行版本控制。
简化新式 Web 开发的工具。
ASP.NET Core的特点
ASP.NET Core 在架构上做出了一些改变,这些改变会使它成为一个更为精简并且模块化的框架。在project.json文件中我们可以发现,ASP.NET Core 不再基于 System.Web.dll(我们在project.json中见到的大部分都是Microsoft打头) ,基于一系列颗粒化的,并且良好构建的 NuGet 包,结合智能提示,它能够让你通过仅仅包含需要的 NuGet 包的方法来优化你的应用。一个更小的应用程序接口通过“只为你需要的功能付出”(pay-for-what-you-use)的模型获得的好处包括更可靠的安全性、简化服务、改进性能和减少成本。
以下列举其他几个改良特点
开源和跨平台
满足运行在.NET Core和.NET Framework上
中间件支持
性能优化
无所不在的依赖注入
标准日志记录
整合MVC和Web Api到一个框架中
MVC 标签帮助
CLI工具
ASP.NET Core 项目文件夹解读
ASP.NET Core 1.0 发布以来,相较于传统项目编码发布的行为,新项目中的操作已经有了很大的变化,如解析依赖,选择运行平台和Runtime等等,就连项目结构也有了比较大的改变,越来越多的配置选项由编辑器转交给了开发者手动决定,这一点在新的各类配置文件中体现得尤为明显,这里就来简单解读一下。
project.json和global.json
project.json是.NET Core项目中最重要的一个配置文件,它类似于.NET Framework上的 .csrpoj文件(在下一版本中.NET Core将弃用该文件,转而回归.csrpoj)。所以这里还是搬运下张大大的博客吧,包括对global.json的解读。
project.json 这葫芦里卖的什么药
Properties——launchSettings.json
顾名思义——启动配置文件。launchSettings.json
文件为一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等。在launchSettings.json
文件中进行配置修改,和开发者右键项目——属性中所提交的更改的效果是一样的(目前右键属性中的Property真是少得可怜),并且支持同步更新。