【.Net 6.0 学习笔记】Asp.net Core Mvc 部属到 IIS,解决 500.19 错误,MVC 与 Razor Page 简单对比
看了这篇文章《宣布 .NET 6 — 迄今为止最快的 .NET》,介绍.Net 6.0 的一些特点啦:
作为最新的长期支持 (LTS) 版本支持三年
性能得到了全面提升,尤其是文件 I/O,这共同导致执行时间、延迟和内存使用减少。
JSON API的功能更强大,并且通过序列化程序的源生成器具有更高的性能。
ASP.NET Core中引入的最小 API可简化入门体验并提高 HTTP 服务的性能。
添加了HTTP/3,以便 ASP.NET Core、HttpClient 和 gRPC 都可以与 HTTP/3 客户端和服务器交互。
....
等等一些特色啦,这里就不Copy出来了。反正就是,如果可以的话,用最新的性能就是最好的啦。
第一步:安装环境
在虚拟机安装了,Windows server 2022,Visual studio 2022
这一步就不用多说啦,很多网上内容。
我在这里下载 Windows server 2022,https://next.itellyou.cn/
在微软的官网下载 Visual studio 2022,https://visualstudio.microsoft.com/zh-hans/vs/
第二步:编码
打开 Visual studio 2022,新建项目Asp.net Core,会发现有 Razor (翻译:剃须刀),这个是啥,我很久以前在学校学的 .Net 2.0 啦,现在 .Net 6.0 啦,时间飞逝,我比较熟悉ASP.Net WebForms,Asp.Net Mvc,对这个 Razor 笔记陌生。网上了解一番,简单对比了一下。
MVC 与 Razor Page 简单对比
ASP.NET MVC 在 Web 应用程序开发中非常流行,它肯定有它的好处。但是,新的 ASP.NET Core Razor Pages 是 ASP.NET WebForms 的下一个演变。
MVC 适用于那些具有大量动态服务器视图、单页应用程序、REST API 和 AJAX 调用的 Web 应用程序。但 Razor Pages 非常适合只读或进行基本数据输入的简单静态页面。
Razor Page 与 ASP.NET MVC 的视图组件非常相似。它具有与 MVC 基本相同的语法和功能。Razor 页面和 MVC 之间的主要区别在于模型和控制器代码也包含在 Razor 页面本身中。
既然是 ASP.NET WebForms 演变过来的,那就看看 Razor 页面的代码吧。
@page
@model IndexModel
@using Microsoft.AspNetCore.Mvc.RazorPages
@functions {
public class IndexModel : PageModel
{
public string Message { get; private set; } = "In page model: ";
public void OnGet()
{
Message += $" Server seconds { DateTime.Now.Second.ToString() }";
}
}
}
<h2>In page sample</h2>
<p>
@Model.Message
</p>
看看 Razor 页面的文件结构与 MVC 的文件结构对比,Razor 是每个页面都带有 .cs 的文件
使用 Asp.Net Core Mvc
好吧,我还是选择 Asp.Net Core Mvc 了,用的比较熟悉了就选它了,选择新建项目完成后,强大的 Visual studio 2022 就帮你把 MVC 的框架全部搭好了,而且一般情况是可以执行运行没有报错的哦。
好了,框架已经搭好,现在可以往里面填充东西,丰富你的项目了。看看Demo的运行效果吧
HTTP 错误 500.19 - Internal Server Error
Oh No,竟然出现错误了,HTTP 错误 500.19 - Internal Server Error,好吧,网络搜一番,找解决办法了。
看了官方的这篇文章《使用 IIS 在 Windows 上托管 ASP.NET Core》,说是要安装 ASP.NET Core 模块/托管捆绑包,就是这个软件(dotnet-hosting-6.0.1-win.exe)Thanks for downloading ASP.NET Core 6.0 Runtime (v6.0.1) - Windows Hosting Bundle Installer !
刷新页面,大功告成。
本文来自我的个人博客:【.Net 6.0 学习笔记】Asp.net Core Mvc 部属到 IIS,解决 500.19 错误,MVC 与 Razor Page 简单对比