上一篇
案例学asp.net
- 行业动态
- 2025-05-13
- 8
ASP.NET基于.NET框架,支持高效Web开发,具备页面生命周期管理、MVC架构及Web Forms模式,擅长构建动态网页与企业级应用,通过C#/VB.NET实现后端逻辑,兼具安全性与跨平台部署优势
环境准备与工具安装
开发环境配置
- 操作系统:Windows/Linux/macOS(ASP.NET Core 跨平台)
- IDE:Visual Studio 2022(推荐)或 Visual Studio Code + .NET CLI
- SDK:.NET 6/7 SDK(官网下载)
- 数据库:SQL Server(可选)或 SQLite(轻量级)
创建第一个ASP.NET项目
- 打开 Visual Studio,选择 “创建新项目”。
- 选择 “ASP.NET Core Web App”,点击下一步。
- 配置项目名称(如
MyFirstApp
),选择存储路径。 - 选择 “Web Application (Model-View-Controller)” 模板(MVC模式)。
- 点击创建,等待依赖项加载完成。
项目结构解析
默认生成的目录与文件
文件/文件夹 | 用途 |
---|---|
Controllers | 存放控制器(处理用户请求并返回响应) |
Views | 存放视图(HTML页面,Razor语法) |
Models | 数据模型(与数据库表映射) |
wwwroot | 静态资源(CSS/JS/图片) |
Program.cs | 应用启动入口(配置服务、中间件) |
Startup.cs | 旧版配置类(.NET 6+已集成到 Program.cs ) |
appsettings.json | 配置文件(数据库连接、日志级别等) |
核心概念与代码示例
MVC架构流程
- 用户请求 → 路由到指定
Controller
。 - Controller 处理逻辑,调用
Model
获取数据。 - View 渲染数据并返回HTML页面。
编写第一个Controller
// Controllers/HomeController.cs using Microsoft.AspNetCore.Mvc; public class HomeController : Controller { public IActionResult Index() { ViewBag.Message = "Hello, ASP.NET Core!"; return View(); } }
创建视图页面
- 路径:
Views/Home/Index.cshtml
@ Views/Home/Index.cshtml @ @{ ViewData["Title"] = "Home Page"; } <h1>@ViewBag.Message</h1>
数据库操作(以EF Core为例)
配置数据库连接
在 appsettings.json
中添加:
{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=MyAppDb;Trusted_Connection=True;" } }
创建数据模型
// Models/TodoItem.cs using System.ComponentModel.DataAnnotations; public class TodoItem { public int Id { get; set; } [Required] public string Title { get; set; } public bool IsComplete { get; set; } }
使用EF Core迁移
dotnet tool install --global dotnet-ef dotnet ef migrations add InitialCreate dotnet ef database update
部署与调试
本地调试
- 按
F5
启动调试,浏览器访问https://localhost:5001
。 - 使用断点、监视窗口排查问题。
发布到IIS
- 右键解决方案 → “发布”。
- 选择目标(如
Folder
或IIS, FTP, etc
)。 - 配置发布设置(如环境变量、文件权限)。
ASP.NET Core vs .NET Framework对比
特性 | ASP.NET Core | ASP.NET (.NET Framework) |
---|---|---|
跨平台 | 支持 Windows/Linux/macOS | 仅支持 Windows |
性能 | 更轻量、高性能 | 较重,依赖旧版CLI |
依赖注入 | 内置支持 | 需手动配置 |
部署方式 | 可发布为独立二进制文件 | 依赖安装 .NET Framework |
开源与更新 | 开源,更新频繁 | 闭源,更新较慢 |
相关问题与解答
问题1:部署后出现 HTTP Error 500.19 Internal Server Error
原因:IIS未安装ASP.NET Core模块。
解决:
- 安装 Hosting Bundle:下载链接。
- 确保
web.config
文件正确生成。 - 检查应用程序池是否启用
No Managed Code
。
问题2:数据库连接失败,提示 Login failed for user 'sa'
原因:SQL Server身份验证未启用或密码错误。
解决:
- 在SQL Server Management Studio中启用混合模式认证。
- 检查
appsettings.json
中的连接字符串是否正确。 - 确保防火墙允许SQL Server端口