第一步:技术选型 (选择合适的框架)
对于个人网站,目前最主流和推荐的 ASP.NET 技术是 ASP.NET Core,它是一个跨平台、高性能、开源的框架,是未来的发展方向。

主要技术栈对比:
| 特性 | ASP.NET Web Forms (传统) | ASP.NET MVC (较新) | ASP.NET Core (推荐) |
|---|---|---|---|
| 架构模式 | 事件驱动,基于页面和控件 | MVC (Model-View-Controller) | MVC, Razor Pages, API (非常灵活) |
| 性能 | 较好 | 良好 | 极佳 (原生异步支持) |
| 跨平台 | ❌ 仅 Windows | ❌ 仅 Windows | ✅ Windows, macOS, Linux |
| 开发效率 | 快速 (拖拽控件) | 较高 | 非常高 (约定优于配置) |
| 前端集成 | 传统 (WebForms, ViewState) | 较好 (易于集成JS框架) | 极佳 (与前端框架完美配合) |
| 社区与生态 | 成熟,但增长缓慢 | 活跃 | 非常活跃,是未来的标准 |
毫无疑问,请选择 ASP.NET Core。
在 ASP.NET Core 内部,又有两种主流的开发模式:
-
MVC (Model-View-Controller):
- 适合:需要复杂路由、API 接口、或者你习惯于传统的 MVC 分层架构。
- 特点:代码组织清晰,职责分明,适合构建大型应用,但对于简单的个人网站可能略显“重”。
-
Razor Pages:
(图片来源网络,侵删)- 适合:个人网站、博客、内容管理系统 等页面驱动的应用。
- 特点:更简单、更直观,将页面逻辑和视图放在一个文件中,学习曲线平缓,开发效率极高。对于绝大多数个人网站,这是首选。
第二步:开发环境搭建
你需要安装以下软件:
-
.NET SDK (Software Development Kit):
- 访问 .NET 官网 下载并安装最新的 LTS (长期支持) 版本,.NET 8 或 .NET 6。
- SDK 包含了运行时和开发工具,是开发的基础。
-
代码编辑器:
- Visual Studio 2025 (强烈推荐):微软官方的集成开发环境,功能最强大,对 ASP.NET Core 支持最好,安装时选择 “ASP.NET 和 Web 开发” 工作负载即可。
- Visual Studio Code (轻量级):一个免费、跨平台的代码编辑器,通过安装 C# Dev Kit 扩展,也能提供非常出色的开发体验。
-
版本控制 (可选但强烈推荐):
(图片来源网络,侵删)- Git:分布式版本控制系统。
- GitHub / Gitee / GitLab:代码托管平台,方便你管理代码、协作和部署。
第三步:项目创建与开发步骤 (以 Razor Pages 为例)
创建项目
-
使用 Visual Studio:
- 打开 Visual Studio,选择“创建新项目”。
- 搜索并选择 “ASP.NET Core Web App” 模板。
- 命名你的项目(
MyPersonalWebsite),选择一个位置。 - 在下一个窗口中:
- 框架:选择最新的 .NET 8.0 (或 LTS 版本)。
- 模板:选择 “Razor Pages”。
- 其他选项:可以勾选“启用 HTTPS”和“不使用顶级语句”。
点击“创建”,Visual Studio 会为你生成一个完整的项目结构。
-
使用命令行 (dotnet CLI):
# 创建一个名为 MyPersonalWebsite 的新 Razor Pages 项目 dotnet new webapp -o MyPersonalWebsite # 进入项目目录 cd MyPersonalWebsite # 运行项目 dotnet run
然后在浏览器中访问
https://localhost:xxxx(https://localhost:7123 是常见端口)。
项目结构解析
创建好的项目会包含以下关键文件夹和文件:
Pages/: 存放所有 Razor Pages 文件。Index.cshtml: 你的网站首页。Privacy.cshtml: 隐私页面。Error.cshtml: 全局错误页面。_ViewStart.cshtml: 定义所有页面都使用的布局文件。About.cshtml,Contact.cshtml等:其他页面。
wwwroot/: 存放静态资源,如 CSS、JavaScript、图片、字体等。Models/: 存放数据模型类。Services/: 存放服务类(如数据库上下文、邮件服务等)。appsettings.json: 应用的配置文件(数据库连接字符串、API密钥等)。Program.cs: 应用的入口点,配置服务、中间件等。Properties/launchSettings.json: 开发环境的启动配置。
开发你的首页
-
修改布局文件:
- 打开
Pages/Shared/_Layout.cshtml,这是整个网站的“外壳”,定义了导航栏、页脚等公共结构。 - 修改
<title>、<nav>中的链接等,使其符合你的网站主题。
- 打开
-
编辑首页内容:
-
打开
Pages/Index.cshtml,这是首页的视图文件,直接编写 HTML 和 Razor 语法。 -
Razor 语法示例:
@* 这是服务器端代码块 *@ @{ var welcomeMessage = "欢迎来到我的个人网站!"; } <h1>@welcomeMessage</h1> <p>今天是 @DateTime.Now.ToString("yyyy-MM-dd")。</p> @* 显示一个条件内容 *@ @if (User.Identity.IsAuthenticated) { <p>欢迎回来,@User.Identity.Name!</p> } else { <p>请 <a href="/Identity/Account/Login">登录</a> 以查看更多内容。</p> }
-
-
添加样式:
- 在
wwwroot/css/文件夹下创建你的 CSS 文件,site.css。 - 在
_Layout.cshtml的<head>部分引入它:<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
- 在
添加新页面
添加一个“关于我”页面:
- 在
Pages文件夹下,右键 -> 添加 -> 新建项。 - 选择 “Razor Page - Empty”,命名为
About.cshtml。 - Visual Studio 会自动创建
About.cshtml(视图) 和About.cshtml.cs(后端逻辑/C# 代码) 文件。 - 在
About.cshtml中编写你的 HTML 内容。 - 在
_Layout.cshtml的导航栏中添加指向/About的链接。
连接数据库 (进阶功能)
如果你的网站需要博客、作品集或留言板功能,就需要数据库。
- 推荐选择:Entity Framework Core (EF Core),它是一个强大的对象关系映射器,让你可以用 C# 代码来操作数据库,而不用写复杂的 SQL 语句。
- 数据库选择:
- SQLite: 轻量级、文件型数据库,非常适合个人网站,无需单独安装数据库服务。
- SQL Server Express: 免费的 SQL Server 版本,功能更强大。
- PostgreSQL / MySQL: 优秀的开源数据库。
一个简单的 EF Core 使用流程:
- 安装 NuGet 包:在项目中安装
Microsoft.EntityFrameworkCore.Sqlite和Microsoft.EntityFrameworkCore.Design。 - 创建数据模型:在
Models文件夹下创建一个 C# 类,BlogPost.cs。public class BlogPost { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime CreatedDate { get; set; } } - 创建数据库上下文:在
Services文件夹下创建一个继承自DbContext的类。public class AppDbContext : DbContext { public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } public DbSet<BlogPost> BlogPosts { get; set; } } - 注册服务:在
Program.cs中注册数据库上下文。// 添加 SQLite 数据库 builder.Services.AddDbContext<AppDbContext>(options => options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection"))); // 在 appsettings.json 中添加连接字符串 "DefaultConnection" - 创建和迁移数据库:打开“程序包管理器控制台”(PMC) 或使用命令行,执行命令:
# 创建初始迁移 Add-Migration InitialCreate # 应用迁移,创建数据库表 Update-Database
- 在页面中使用数据:在
Index.cshtml.cs或其他页面模型中,通过依赖注入获取AppDbContext,然后查询并展示数据。
第四步:部署你的网站
开发完成后,你需要将网站部署到服务器上,让所有人都能访问。
准备发布包
在 Visual Studio 中,右键点击项目 -> 发布,选择“文件夹”、“Azure”、“IIS”等目标,系统会帮你编译和打包网站所需的文件。
部署平台选择
- Azure App Service (微软云):
- 优点:与 .NET 生态无缝集成,部署极其简单(可以直接从 Visual Studio 或 GitHub 一键部署),有免费套餐,弹性伸缩。
- 推荐指数:⭐⭐⭐⭐⭐ (个人首选)
- 其他云服务商:
- AWS (Elastic Beanstalk), Google Cloud (Cloud Run):功能强大,但学习曲线稍陡。
- 虚拟主机 (Virtual Hosting):
- 优点:价格便宜。
- 缺点:通常只支持 Windows Server,需要自己配置 IIS 和 .NET 运行时,灵活性较低。
- Docker 容器化:
- 优点:环境一致,易于迁移和管理。
- 做法:将你的应用打包成 Docker 镜像,然后部署到支持容器的平台(如 Azure Container Instances, AWS ECS)。
域名和 HTTPS
- 购买域名:在 GoDaddy、Namecheap、阿里云等平台购买一个你喜欢的域名。
- 配置 DNS:将域名的 DNS 指向你的服务器 IP 或云服务商提供的域名。
- 启用 HTTPS:现代网站必备,可以使用 Let's Encrypt 提供的免费证书。
- Azure App Service:可以一键开启“HTTPS”,自动管理证书。
- 其他平台:可以使用 Certbot 等工具获取并配置证书。
第五步:持续优化与最佳实践
-
性能优化:
- 压缩:启用响应压缩(Brotli/Gzip)。
- 静态文件缓存:配置静态文件的缓存策略。
- 数据库优化:为查询频繁的字段添加索引。
- 使用 CDN:将静态资源(图片、CSS、JS)托管到 CDN(内容分发网络)上,加速全球访问。
-
SEO (搜索引擎优化):
- URL 友好:使用简洁、描述性的 URL (
/blog/my-first-post而不是/post?id=123),ASP.NET Core 路由很容易实现。 - Meta 标签:为每个页面设置
<title>和<meta description>。 - Sitemap.xml:生成站点地图并提交给搜索引擎。
- 结构化数据:使用 JSON-LD 标记,帮助搜索引擎更好地理解你的内容。
- URL 友好:使用简洁、描述性的 URL (
-
安全性:
- 依赖项检查:定期检查并更新 NuGet 包,修复已知的安全漏洞。
- 防止常见攻击:ASP.NET Core 内置了对跨站脚本、跨站请求伪造等攻击的防护。
- 使用 HTTPS:保护数据传输安全。
创建一个 ASP.NET 个人网站的完整流程是:
确定需求 -> 选择 ASP.NET Core + Razor Pages -> 搭建开发环境 -> 创建项目 -> 开发页面和功能 (可能涉及 EF Core 和数据库) -> 打包发布 -> 部署到云平台 -> 配置域名和 HTTPS -> 持续优化,ASP.NET Core 强大的生态系统和丰富的文档将使这个过程变得相对轻松,祝你开发顺利!
