ASP.NET Core 基础

Web应用是.NET Core 开发中常见的项目类型,无论是网站还是HTTP服务接口,都有提供对外Web访问的能力,而.NET Core中进行Web应用开发的核心底层技术是ASP.NET Core。

在ASP.NET Core 这个底层基础上,微软开发了ASP.NET Core MVC 和 ASP.NET Core Web API这两个框架。随着软件项目复杂度的增加及软件项目分工的细化,前后端分离已经成为了主流的开发模式,后端开发人员使用ASP.NET Core Web API开发服务接口,界面交互等由前端开发人员使用Vue等前端框架来完成。在ASP.NET Core MVC 这种开发模式下,后端开发人员也仍然要编写一部分前端的代码,而在前后端分离的开发模式下,后端开发人员不再需要处理任何界面逻辑,而只需要编写ASP.NET Core Web API

在.NET Framework中,ASP.NET MVC是用来进行基于视图的MVC模式开发的框架,而ASP.NET Web API 2 是来进行Web API开发的框架,这是两个不同的框架。而在ASP.NET Core中,不再做这样的区分,严格来将,只有ASP.NET MVC 这一个框架,ASP.NET Core MVC既支持基于视图的MVC模式开发,也支持Web API开发和Razor Pages开发等。不过在Visual Studio中创建项目的时候,仍然存在这两种向导,分别用来Web API项目和传统的基于视图的MVC项目。在谈到区分基于视图的MVC和Web API的时候,我们也会分别把它们称为ASP.NET Core MVC和ASP.NET Core Web API

1.ASP.NET Core MVC项目

创建后的项目初始结构

选项说明
WWWroot图片、JS、CSS等静态文件
MVCMVC相关
appsettings.json默认的配置文件
Program.cs项目的入口代码
编写第一个MVC程序

ASP.NET Core MVC 采用MVC模式,也就是把页面交互的代码分为模型(model)、视图(view)和控制器(controller)三个部分。

视图负责内容的展现,也就是用来显示HTML网页;

控制器负责处理用户的请求以及为视图准备数据;

模型负责在视图和控制器之间传递数据。

在MVC模式中,视图和控制器不直接交互,不互相依赖,彼此之间通过模型进行数据传递。

使用MVC模式的优点是视图和控制器降低了耦合,系统的结构更清晰。

MVC模式是一种软件架构模式,和具体语言,技术无关,ASP.NET Core MVC是.NET Core中基于ASP.NET Core实现的MVC框架。

在ASP.NET Core MVC中,控制器由Controller类实现,视图一般是扩展名为”cshtml”的文件,而模型则是只有属性的普通C#类。

控制器类一般直接或者间接继承自Controller类,控制器类的名字一般以Contorller结尾,并且被放到Controllers文件夹下;视图一般被放到Views文件夹下的控制器名字的文件夹下。

控制器的名字为控制器类名去掉Controller,比如控制器类名为HomeController,则和它相关的视图被放到Views/Home文件夹下。模型则放到Models文件夹下。

浏览器端提交的请求会被封装到模型类的对象中并传递给控制器,控制器中对浏览器端的请求进行处理,然后将处理结果放到模型类的对象中传递给视图,而视图则解析模型对象,然后将其渲染成HTML内容输出给浏览器。

2.使用ASP.NET Core 开发 Web API

ASP.NET Core MVC 是 ASP.NET Core中进行网站开发的技术,我们一般在浏览器中访问由ASP.NET Core MVC 开发的系统。

随着移动互联网、物联网等技术的发展,现在的访问服务器的客户端已经不局限于浏览器了,手机App、微信小程序、智能家电、可穿戴式设备等都有和服务器端进行数据交互的需求。

浏览器和服务器端之间传递的主要是HTML,而手机App等客户端和服务器端之间主要传递的是JSON等结构化的数据。

我们把提供结构化数据服务的接口叫做Web API。

订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部