零、前言

在本书中,我们将讨论 Microsoft 添加到 ASP.NET Core 3 中的新功能和最新功能。

我们将深入研究这些应用,并了解如何将它们应用于已引入的各种新工具。我们将关注 Blazor、gRPC、dotnet工具、错误处理方法和 Razor 页面。这次我们有这么多新的话题要看,所以这将是一个地狱般的欢乐之旅。坐下来享受吧!

这本书是给谁的

如果您是一名具备 ASP.NET MVC 框架基本知识的开发人员,并且希望构建功能强大的应用,那么本书适合您。希望探索 ASP.NET Core 3.0 最新变化以构建专业级应用的开发人员也会发现本书很有用。熟悉 C#、ASP.NET Core、HTML 和 CSS 是本书最大的收获。

这本书涵盖的内容

第 1 章ASP.NET Core 入门,介绍了.NET 和 ASP.NET Core 的基础知识,包括 MVC 模式,这是 ASP.NET Core 的典型使用模式。

第 2 章配置向您展示了可供.NET/ASP.NET Core 开发人员使用的配置选项。

第 3 章路由解释了 HTTP 请求是如何通过路由映射到控制器动作的,它们是如何选择的,以及参数是如何匹配的。

第 4 章控制器和动作解释了控制器和动作是如何工作的,什么是 API 和 OData 控制器,控制器的生命周期是什么,以及如何找到控制器。

第 5 章视图解释了如何使用视图,这些视图构成了 ASP.NET Core 的用户界面。

第 6 章使用表单和模型向我们展示了如何处理表单中用户提交的数据。

第 7 章实现 Razor Pages描述了 Razor Pages 是 ASP.NET Core 的替代开发模型。

第 8 章API 控制器向我们展示了如何使用 API(非可视)控制器。

第 9 章可重用组件讲述了 ASP.NET Core 中的可重用性。

第 10 章了解过滤器,讲述了 ASP.NET Core 开发人员可以使用的各种过滤器。

第 11 章安全向我们展示了如何实现身份验证和授权。这里,我们还将介绍如何实施 HTTPS 安全性以及如何防止篡改。

第 12 章记录、跟踪和诊断解释了我们如何了解 ASP.NET Core 应用的运行情况。

第 13 章了解测试工作原理解释了如何将单元和功能/集成测试添加到我们的解决方案中。

第 14 章客户端开发介绍了如何将 ASP.NET Core 与常用客户端框架集成。

第 15 章提高性能和可扩展性介绍了如何提高我们的 web 应用的性能。

第 16 章实时通信将帮助我们学习如何将实时通信技术应用到代码中。

第 17 章介绍 Blazor,是该版本的新添加,将解释 Blazer 的互操作性、依赖注入、HTTP 调用等。

第 18 章gRPC 和其他主题是一个主题和框架细节的集合,ASP.NET Core 开发人员应该知道这些主题和框架细节,但这不适合本书的其他章节。

第 19 章应用部署将帮助我们了解如何将 ASP.NET Core 应用部署到不同的目标,如本地和云。

第 20 章附录 A:dotnet 工具简要介绍了与 ASP.NET Core 相关的基础知识和其他有用主题,包括其工具和功能的说明。

充分利用这本书

熟悉 C#、ASP.NET Core、HTML 和 CSS 是一件好事,可以充分利用本书。不言而喻,阅读这本书的第一版会很有帮助。

| 本书涵盖的软件/硬件 | 操作系统要求 | | 码头工人 | Windows 或 Linux | | Visual Studio 2019 社区版 | Windows、Linux |

下载示例代码文件

您可以从您的账户www.packt.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packtpub.com/support并注册,将文件通过电子邮件直接发送给您。

您可以通过以下步骤下载代码文件:

  1. 登录或注册www.packt.com
  2. 选择“支持”选项卡。
  3. 点击代码下载。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Modern-Web-Development-with-ASP.NET-Core-3-Second-Edition 。如果代码有更新,它将在现有 GitHub 存储库中更新。

我们的丰富书籍和视频目录中还有其他代码包,请访问https://github.com/PacktPublishing/ 。看看他们!

下载彩色图像

我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以在这里下载:https://static.packt-cdn.com/downloads/9781789619768_ColorImages.pdf

使用的惯例

本书中使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。这里有一个例子:“请记住,一般来说,索赔并不意味着什么,但有一些例外:NameRole可用于安全检查,我们稍后将看到……”

代码块设置如下:

var principal = new WindowsPrincipal(identity);
var isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

"iisSettings": {
 "windowsAuthentication": true, "anonymousAuthentication": false,  "iisExpress": {
    "applicationUrl": "http://localhost:5000/",
    "sslPort": 0
  }
}

任何命令行输入或输出的编写方式如下:

Add-Migration "Initial"
Update-Database

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“右键单击 web 项目并选择新的脚手架项目…”

Warnings or important notes appear like this. Tips and tricks appear like this.

联系

我们欢迎读者的反馈。

一般反馈:如果您对本书的任何方面有疑问,请在邮件主题中注明书名,并发送电子邮件至customercare@packtpub.com

勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的书籍,单击 errata 提交表单链接,然后输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packt.com与我们联系,并提供该材料的链接。

如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。

有关 Packt 的更多信息,请访问Packt.com