https://learn.microsoft.com/zh-cn/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-7.0
ASP.NET Core 是一个跨平台的高性能开源框架
可以:
- 生成 Web 应用和服务、物联网 (IoT) 应用和移动后端。
- 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
- 部署到云或本地。
- 在 .NET Core 上运行。
ASP.NET Core 是对 ASP.NET 4.x 的重新设计
优点
- 生成 Web UI 和 Web API 的统一场景。
- 针对可测试性进行构建。
- Razor Pages 可以使基于页面的编码方式更简单高效。
- Blazor 允许在浏览器中使用 C# 和 JavaScript。 共享全部使用 .NET 编写的服务器端和客户端应用逻辑。
- 能够在 Windows、macOS 和 Linux 上进行开发和运行。
- 开放源代码和以社区为中心。
- 集成新式客户端框架和开发工作流。
- 支持使用 gRPC 托管远程过程调用 (RPC)。
- 基于环境的云就绪配置系统。
- 内置依赖项注入。
- 轻型的高性能模块化 HTTP 请求管道。
- 能够托管于以下各项:
- Kestrel
- IIS
- HTTP.sys
- Nginx
- Apache
- Docker
- 并行版本控制。
- 简化新式 Web 开发的工具。
ASP.NET Core 3.x 或更高版本仅面向 .NET Core。
通常,ASP.NET Core 由 .NET Standard 库组成。
使用 .NET Standard 2.0 编写的库在实现 .NET Standard 2.0 的任何 .NET 平台上都可运行。
与 .NET Framework 相比,.NET Core 的部分优势包括:
- 跨平台。 在 Windows、macOS 和 Linux 上运行。
- 性能更强
- 并行版本控制
- 新 API
- 开源
教程tutorials - RazorPage
新建一个 ASP.NET Core Web 应用,命名为 RazorPagesMovie,框架为 .NET 6.0
按 Ctrl + F5 不调试运行;
Program.cs
namespace RazorPagesMovie
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
}
}
}
此文件中的以下代码行会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖项注入 (DI) 容器添加 Razor Pages 支持:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
启用各种中间件:
app.UseHttpsRedirection(); :将 HTTP 请求重定向到 HTTPS。
app.UseStaticFiles(); :使能够提供 HTML、CSS、映像和 JavaScript 等静态文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。
app.UseRouting(); :向中间件管道添加路由匹配。 有关详细信息,请参阅 ASP.NET Core 中的路由
app.MapRazorPages(); :为 Razor Pages 配置终结点路由。
app.UseAuthorization(); :授权用户访问安全资源。 此应用不使用授权,因此可删除此行。
app.Run(); :运行应用。
|