ASP.NET Core

ASP.NET Core

ASP 的全称是 Active Server Pages

ASP.NET 是 Microsoft 开发的一个用于构建 Web 应用程序和 Web 服务的框架

它建立在 .NET 平台上,提供了丰富的工具和库,使得开发者可以更高效地创建高性能、可扩展和安全的 Web 应用程序

  • ASP.NET Core时.NET中做Web开发的框架
  • ASP.NET Core MVC
  • ASP.NET Core Web API

实质上MVC指的是前后端不分离的Web项目,而WebApI指的是前后端分离的MVC项目


Program和Startup

Program
  1. Main 方法
    • 这是应用程序的入口点。
    • 调用 CreateHostBuilder 方法创建主机构建器,然后构建并运行主机。
  2. CreateHostBuilder 方法
    • 使用 Host.CreateDefaultBuilder 创建默认的主机构建器。
    • 调用 ConfigureWebHostDefaults 方法配置 Web 主机。
    • 使用 UseStartup<Startup> 指定 Startup 类作为配置类。
Startup
  1. ConfigureServices 方法
    • 配置应用程序的服务。
    • 使用 IServiceCollection 参数来注册服务。
    • 例如,注册 MVC 服务、数据库上下文、身份验证服务等。
  2. Configure 方法
    • 配置应用程序的请求管道。
    • 使用 IApplicationBuilder 参数来添加中间件。
    • 例如,添加开发者异常页面、静态文件服务、路由、身份验证、授权和终结点映射等。

MVC

cshtml

在ASP.NET Core MVC中,视图文件的后缀是.cshtml,这种文件不是纯粹的html文件,而是需要被框架渲染成为html文件后呈现给客户端

类似于Java中的JSP技术

在视图层,将控制器名作为目录名,将控制器方法名作为文件名

Demo01.cshtml
<!-- 指定模型类型为Person,这样在页面中就可以直接使用@Model访问该模型 -->
@model Person

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>title</title>
</head>
<body>
<div>
    <!-- 显示模型中的Name属性值 -->
    <div>姓名:@Model.Name</div>
    <!-- 显示模型中的Age属性值 -->
    <div>年龄:@Model.Age</div>
</div>
</body>
</html>

Controller

在ASP.NET Core MVC中,所有用户自定义Controller要继承Controller类,然后在Action(操作方法)中实现具体功能

TestController.cs
public class TestController : Controller
{
    // GET
    public IActionResult Demo1()
    {
        var person = new Person("Xiaobai", 18);
        
        // 将对象丢给视图,在和方法名字相同的模型中渲染这个对象
        return View(person);
    }
}