零、前言

.NET Core 是. NET 的通用、模块化、跨平台和开源实现.NET Core 3 具有改进的性能以及对桌面应用的支持。.NET Core 3 不仅应该吸引新开发人员开始学习框架,还应该说服旧开发人员开始迁移他们的应用。

这本书是第二版 C# 7 和.NET Core 2.0 蓝图,更新了 C# 8 和的最新特性和增强功能.NET Core 3.0。这本书是一个全面的指南,提供了 10 个真实世界的企业应用。它将帮助您同时学习和实现这些概念,并通过在 ASP.NET Core 和 Azure 上构建满足现代软件要求的有效应用来推进。

我们将使用实体框架核心 3 处理关系数据,并使用 ASP.NET Core 创建一个真实世界的网络应用。我们将看看读者如何将他们的旧 WinForms 应用升级到的最新版本.NET Core。我们还将使用 SignalR 创建实时聊天应用。最后,我们将学习使用 Azure Storage 的无服务器计算,以及如何使用 Docker 和 Kubernetes 构建负载平衡的订单处理微服务。

总而言之,这本书将教你 web 应用、无服务器计算和使用各种项目和应用的微服务的核心概念。按照这一步一步的指南,您将能够创建一个 ASP.NET Core MVC 应用,并使用微软 Azure 的尖端服务构建现代应用。

这本书是给谁的

这本书是为业余开发人员/程序员以及希望构建真实世界的项目并学习的新功能的专业人士准备的.NET Core 3。对于开发传统桌面软件并希望迁移到的开发人员来说,这也很有用.NET Core 3。的基本知识.NET Core 和 C#是假设的。

这本书涵盖了什么

第 1 章电子书管理器和目录应用–。Windows 桌面上的 NET Core 3,介绍的关键特性.NET Core 3–主要功能是支持中的桌面应用.NET Core。您将基于本书的早期版本创建一个 WinForms 应用,并将其升级为使用.NET Core 3。然后我们将介绍 XAML 群岛,并使用 UWP 创建一个新的桌面控件,并将其添加到现有的 WinForms 应用中。

第二章任务 Bug 记录 ASP.NET Core MVC 应用使用 Cosmos DB ,重点创建一个 ASP.NET Core MVC 应用,允许用户捕捉任务和记录问题。该应用将允许您查看捕获的任务并采取行动。

第三章ASP.NET 天蓝色 SignalR 聊天应用,使用 ASP.NET SignalR 创建实时聊天应用。实时 web 功能是服务器端代码将内容实时推送到连接的客户端的能力。一旦创建,我们将创建一个 Azure 应用服务实例,并在那里托管应用。

第 4 章带实体框架核心的 Web 研究工具,向大家介绍实体框架核心,并向大家展示如何创建一个 ASP.NET Core MVC 应用,可用于保存链接和社交媒体帖子以供研究之用。很多这样的应用都存在,比如 Instapaper 和 Evernote。但是,这个应用将向您展示如何滚动自己的应用并添加特定的功能。

第 5 章使用 Azure 逻辑应用和功能构建 Twitter 自动活动管理器,调查来自 Azure 的逻辑应用。本章将指导您创建一个逻辑应用,将该应用集成到推特上,并允许用户将数据输入电子表格,并自动将其发布在推特上。

第 6 章使用身份服务器和 OAuth 2 的股票检查器,说明了使用身份服务器 OSS 作为模板进行身份验证的概念。本章指导您创建自己的身份服务器,然后从 UWP 应用登录到该服务器。

第 7 章使用 Windows 服务和 Azure Storage 构建照片存储应用,阐述了无服务器计算的概念。您将创建一个应用,将用户电脑上的照片备份到 Azure Storage。如今有许多备份服务可供用户使用。Azure Blob 存储只是这样一种服务,它允许开发人员创建利用微软服务器存储文件的应用。

第 8 章使用 Docker 和 Azure Kubernetes 服务的负载平衡订单处理微服务首先介绍了微服务的概念,并解释了它们是什么以及为什么要使用它们。在本章中,我们将介绍分布式系统的概念。我们将构建一个微服务,在 Azure Kubernetes 上配置一个 Kubernetes 集群,并使用存储队列与我们的微服务接口。

第 9 章使用 Xamarin Forms 和 Azure 认知服务的情绪检测器移动应用,使用 Xamarin.Forms 创建了一个移动应用,在这一章中,我们将与 Azure 认知服务和设备上的摄像头集成,允许用户拍摄一张人脸照片,并让 Azure 回来时对该人的情绪进行评级。然后我们会在屏幕上显示我们认为那个人在感受什么。我们将把它交叉编译到安卓系统中。

第 10 章21 世纪的伊莱扎-UWP 和微软机器人框架,使用.NET Core 3。这将是一个简单的聊天应用,但将与 LUIS 和一个旨在通过图灵测试的微软聊天机器人接口。

附录 AWebAssembly 涵盖了 WebAssembly,它最近被集成到所有主要浏览器中,并允许将代码编译到 WASM(浏览器的一种 IL)。微软最近发布了一个名为 Blazor 的东西的预览版,允许 Razor 语法代替 JavaScript 运行。

充分利用这本书

为了遵循本书中给出的说明,您需要具备以下先决条件:

  • Azure 订阅
  • 可视化工作室
  • Excel/Office 联机副本
  • OneDrive 帐户
  • 推特
  • 邮递员

下载示例代码文件

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

您可以按照以下步骤下载代码文件:

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

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

  • 视窗系统的 WinRAR/7-Zip
  • zipeg/izp/un ARX for MAC
  • 适用于 Linux 的 7-Zip/PeaZip

这本书的代码包也托管在 https://github.com/PacktPublishing/C-8-and-.的 GitHub 上 NET-Core-3-项目-使用-Azure-第二版。如果代码有更新,它将在现有的 GitHub 存储库中更新。

我们还有来自丰富的图书和视频目录的其他代码包,可在【https://github.com/PacktPublishing/】获得。看看他们!

下载彩色图像

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

使用的约定

本书通篇使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。下面是一个例子:“打开Document.cs文件,将下面的代码添加到类中。”

代码块设置如下:

public class Document
{
  public string Title { get; set; }
  public string FileName { get; set; }
  public string Extension { get; set; }
  public DateTime LastAccessed { get; set; }
  public DateTime Created { get; set; }
  public string FilePath { get; set; }
  public string FileSize { get; set; }
}

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

public class Document
{
  public string Title { get; set; }
  public string FileName { get; set; }
 public string Extension { get; set; }
  public DateTime LastAccessed { get; set; }
  public DateTime Created { get; set; }
  public string FilePath { get; set; }
  public string FileSize { get; set; }
}

粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词像这样出现在文本中。这里有一个例子:“还有其他选项可以配置可空选项。”

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

取得联系

我们随时欢迎读者的反馈。

一般反馈:如果你对这本书的任何方面有疑问,在你的信息主题中提到书名,发邮件给我们customercare@packtpub.com

勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packt.com/submit-errata,选择您的图书,点击勘误表提交链接,并输入详细信息。

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

如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com

复习

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

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