ASP.NET 教程

ASP.NET 教程(2025 最新版)——从零到部署全栈网站

ASP.NET 目前主要指 ASP.NET Core,它是微软官方推荐的现代、跨平台、高性能的 Web 开发框架,支持 Windows、Linux、macOS 和 Docker。

第一步:环境准备(2025 年推荐方式)

  1. 安装 .NET 9 SDK(当前最新稳定版)
    下载地址:https://dotnet.microsoft.com/download/dotnet/9.0
  2. 推荐编辑器/IDE(任选其一):
  • Visual Studio 2022(17.12+)专业版或 Community(免费)
  • Visual Studio Code + C# Dev Kit 扩展
  • JetBrains Rider(付费但体验极佳)
  1. 检查安装成功:
   dotnet --version
   # 应该显示 9.0.xxxx

第二步:创建第一个 ASP.NET Core 项目

# 1. 创建 MVC 项目(最经典)
dotnet new mvc -n MyFirstWebApp
cd MyFirstWebApp

# 2. 或者创建极简 API 项目
dotnet new webapi -n MyApi

# 3. 或者创建 Razor Pages 项目
dotnet new webapp -n MyRazorApp

# 4. 或者创建 Blazor 项目(前后端一体)
dotnet new blazor -n MyBlazorApp   # Blazor Server
dotnet new blazorwasm -n MyWasm    # Blazor WebAssembly

运行项目:

dotnet watch
# 自动打开 https://localhost:7777(默认启用了 HTTPS)

第三步:ASP.NET Core 项目结构速览

MyFirstWebApp/
├── Program.cs              ← 入口点(.NET 6+ 极简托管模型)
├── appsettings.json        ← 配置
├── Controllers/            ← MVC 控制器
├── Views/                  ← Razor 视图 (.cshtml)
├── wwwroot/                ← 静态文件(css/js/images)
├── Models/                 ← 数据模型
├── Services/               ← 服务层
└── Data/                   ← EF Core 数据库上下文

.NET 9 的 Program.cs 极简写法(2025 主流):

var builder = WebApplication.CreateBuilder(args);

// 添加服务
builder.Services.AddControllersWithViews();
// builder.Services.AddRazorPages();
// builder.Services.AddEndpointsApiExplorer(); + AddSwaggerGen();

var app = builder.Build();

// 中间件管道
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();

第四步:常用技术栈快速上手

  1. 实体框架 Core(EF Core)数据库操作(2025 推荐)
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
// Model
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; } = null!;
    public decimal Price { get; set; }
}

// DbContext
public class AppDbContext : DbContext
{
    public DbSet<Product> Products => Set<Product>();

    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
}

// Program.cs 注册
builder.Services.AddDbContext<AppDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("Default")));

// 迁移
dotnet ef migrations add InitialCreate
dotnet ef database update
  1. 最小 API(.NET 9 最火写法)
app.MapGet("/weatherforecast", () =>
{
    var forecast = Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            ["Sunny", "Cloudy", "Rain", "Snow"][Random.Shared.Next(4)]
        ))
        .ToArray();
    return forecast;
})
.WithName("GetWeatherForecast")
.WithOpenApi();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}
  1. 身份认证(Identity)快速集成
dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore

推荐使用最新的 ASP.NET Core Identity + EF Core 或直接使用 AspNetCore.Identity.UI 脚手架(带登录注册页面)。

  1. 前端选择(2025 主流组合)
  • 传统服务端渲染:Razor Pages / MVC + Bootstrap 5 / HTMX
  • 现代 SPA:Blazor WebAssembly / React + ASP.NET Core API
  • 最火轻量交互:MVC + Hotwire-style(HTMX + Alpine.js)

第五步:推荐学习路线(30 天入门到精通)

天数内容推荐资源
1-3环境搭建 + 第一个 MVC / 最小 API 项目官方文档 https://learn.microsoft.com/aspnet/core
4-7路由、控制器、视图、Razor 语法《C#与.NET全栈开发》
8-12EF Core + SQL Server / PostgreSQL / SQLiteEF Core 官方教程
13-18身份认证、授权、JWT、CookieMicrosoft Identity 平台
19-23前端:Blazor 或 React + APIBlazorSchool / React 官方
24-27部署:Docker + Linux + Nginx / Azure / IIS《ASP.NET Core 部署实战》
28-30项目实战:博客系统 / 电商后台 / 在线考试GitHub 开源项目

优质免费学习资源(2025 最新)

  1. 官方免费教程(最权威):
    https://learn.microsoft.com/zh-cn/aspnet/core/
  2. 视频教程(中文):
  • B站:老张的哲学 / 峰华前端工程师(ASP.NET Core 9 新特性)
  • YouTube:Nick Chapsas、IAmTimCorey(英文极佳)
  1. 实战项目(强烈建议直接克隆跑):
  • eShopOnWeb(微软官方参考架构):https://github.com/dotnet/eshop
  • Clean Architecture 模板:https://github.com/jasontaylordev/clean/clean-architecture
  1. 书籍推荐(2025):
  • 《.NET 9 与 C# 13 高级编程》(第11版)
  • 《ASP.NET Core 9实战开发》

开始动手吧!现在直接在命令行输入:

dotnet new webapp -n MyShop --auth Individual
cd MyShop
dotnet run

3 分钟后你就拥有一个带登录注册的完整现代 Web 应用了!

有任何问题(配置、部署、性能优化、微服务等)随时问我,我可以一步步带你写完整项目!🚀

文章已创建 2838

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部