ASP.NET Core MVC学习笔记(一)

最近在学近几年特别流行的ASP.NET Core MVC 听说这个Web框架的效率特别高,入门门槛也比较低,简单好学。这篇博客就来分享一下我学习ASP.NET Core MVC的学习笔记。

零1.关于开发环境

如果使用的是Microsoft自家的Visual Studio 那就不用担心开发环境的问题了,因为Visual Studio不管是2017还是2019都集成有ASP.NET Core 的SDK 所以无需另行安装,只需要在安装或者配置Visual Studio的时候吧ASP.NET Core的勾勾勾上就可以了。

但是如果使用的是其他的IDE的话 比如Visual Studio Code这款轻量级的编辑器, 就需要另外自行安装微软的ASP.NET Core SDK了.

零2.ASP.NET Core基本介绍

ASP.NET Core 是一个性能较高的开源Web框架,而且ASP.NET Core是跨平台的,意味着可以在任意一个品台上部署ASP.NET CoreWeb框架.

一.项目文件(.csproj)

1
<TargetFramework> netcoreapp2.2 </TargetFramework>
1
<TargetFrameworks> netcoreapp2.2 ; net472</TargetFrameworks>

项目支持的framework版本(可以是一个版本也可以是多个版本);可以同时支持NET与NET Core.

文件的Server

所谓Server 就是指在运行是,该文件可以被服务器调用;
在ASP.NET Core 环境中,只有项目文件夹下的wwwroot文件夹下的文件会被 Server 项目中的其他文件是不会被Server的, 如果想要Server其他的文件,则需要将想要被Server 的文件加入白名单–
称为:白名单策略.

1
2
3
<ItemGroup>
<Folder Include="wwwroot\" /> <!--被Server的文件-->
</ItemGroup>

项目引用的’包’

在ItemGroup中显示了当前项目中所有引用到的’包’:

1
2
3
4
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
</ItemGroup>

在默认引用Microsoft.AspNetCore.App的使用默认使用了隐藏版本号方式的引用,’包’的版本号会根据项目的版本号来确定.

ASP.NET Core 的启动和配置

调用Program中的Main方法(类似于其他的.NET程序);

1
2
3
public static void Main(string[] args) {
CreateWebHostBuilder(args).Build().Run();
}

在空白的框架中,Main方法中只包含一个CreateWebHostBuilder方法,它运行的方式就是调用这个CreateWebHostBuilder中的Build方法,Build成功之后会调用CreateWebHostBuilder中的Run方法来启动这个项目;

1
2
3
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();
}

点击这里查看WebHost源码