当前位置:首页 > 行业动态 > 正文

案例学asp.net

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项目

  1. 打开 Visual Studio,选择 “创建新项目”
  2. 选择 “ASP.NET Core Web App”,点击下一步。
  3. 配置项目名称(如 MyFirstApp),选择存储路径。
  4. 选择 “Web Application (Model-View-Controller)” 模板(MVC模式)。
  5. 点击创建,等待依赖项加载完成。

项目结构解析

默认生成的目录与文件

文件/文件夹 用途
Controllers 存放控制器(处理用户请求并返回响应)
Views 存放视图(HTML页面,Razor语法)
Models 数据模型(与数据库表映射)
wwwroot 静态资源(CSS/JS/图片)
Program.cs 应用启动入口(配置服务、中间件)
Startup.cs 旧版配置类(.NET 6+已集成到 Program.cs
appsettings.json 配置文件(数据库连接、日志级别等)

核心概念与代码示例

MVC架构流程

  1. 用户请求 → 路由到指定 Controller
  2. Controller 处理逻辑,调用 Model 获取数据。
  3. 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

  1. 右键解决方案 → “发布”
  2. 选择目标(如 FolderIIS, FTP, etc)。
  3. 配置发布设置(如环境变量、文件权限)。

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模块。
解决

  1. 安装 Hosting Bundle:下载链接。
  2. 确保 web.config 文件正确生成。
  3. 检查应用程序池是否启用 No Managed Code

问题2:数据库连接失败,提示 Login failed for user 'sa'

原因:SQL Server身份验证未启用或密码错误。
解决

  1. 在SQL Server Management Studio中启用混合模式认证。
  2. 检查 appsettings.json 中的连接字符串是否正确。
  3. 确保防火墙允许SQL Server端口
0