作者:empty 页数:2587 出版社:empty |
ASPNET Core简介ASP.NETCore是一个跨平台的高性能开源框架, 用于生成基于云且连接Internet的新式应用程序。使用ASP.NETCore, 您可以:·建置Web应用程式和服务、loT应用和移动后端。·在Windows、macOS和Linux上使用喜爱的开发工具。·部署到云或本地。·在NETCore或, NET Framework上运行。为何使用ASP.NETCore?数百万开发人员使用过(并将继续使用) ASP.NET4x创建Web应用。ASP.NETCore是重新设计的ASP.NET4x,更改了体系结构,形成了更精而的模块化框架。ASP.NETCore具有如下优点:·生成WebUI和Web API的统一场景。·集成新式客户蝼框架和开发工作流。·基于环境的云就绪配置系统。·内置依项注人。·轻型的高性能模块化HTTP请求管道,·能够在I IS、Ng in x、Apache、Docker上进行托管或在自己的进程中进行自托管。·定目标到NETCore时, 可以使用并行应用版本控制。·简化新式Web开发的工具。·能够在Windows, macOS和Linux进行生成和运行。·开放源代码和以社区为中心。ASP.NETCore完全作为Nu Get包的一部分提供。借助Nu Get包, 可以将应用优化为只包含必需的依赖项。实际上, 定目标到.NETCore的ASP.NETCore 2.x应用只需要使用一个Nu Get包。较小的应用图面区域的优势包括:提升安全性、减少维护和提高性能。使用ASP.NETCore MVC生成Web API和WebUIASP.NETCore MVC提供生成Web API和Web应用所需的功能;·Model-View-Controller(MVC) 模式使Web API和Web应用可测试。·ASP, NETCore 2.0中新增的Razor页面是基于页面的编程模型, 可简化WebUI生成并提高工作效率,·Razor标记提供了适用于Razor页面和MVC视图的高效语法。·标记帮助程序使服务器端代码可以在Razor文件中参与创建和呈现HTML元素。·内置的多数据格式和内容协商支持使Web API可访问多种客户端, 包括浏览器和移动设备。·模型绑定自动料HTTP请求中的数据映射到操作方法参数。·模型验证自动执行客户端和服务器端验证,客户端开发
ASP.NETCore与常用客户端框架和库(包括Angular、React和Bootstrap) 无缝集成。布关详细信息, 请参阅客户端开发。面向.NET Framework的ASP.NETCoreASP.NETCore可以面向.NETCore或.NET Framework。面向NET Framework的ASP.NETCore应用无法跨平台, 它们仅在Windows上运行。没有计划删除ASP.NETCore中对面向.NET Framework的支持。通常, ASP.NETCore由NETStandard库组成。使用, NETStandard 2.0编军的应用可在NETStandard 2.0支持的任何位置运行。面向.NETCore有以下几个优势, 并且这些优势会随着每次发布增加, 与.NET Framework相比, .NETCore的部分优势包括·跨平台, 在macOS、Linux和Windows上运行。·提高的性能·并行版本控制·新API·开源
我们正努力缩小NET Framework与.NETCore的API差距。Windows兼容性包使数千个仅Windows API可在, NETCore中使用。这些API在, NETCore1x中不可用。后续步骤有关更多信息,请参见以下资源:·Razor页面入门·ASP.NETCore教程·ASP.NETCore基础知识·每周ASP.NET Community Standup介绍了团队的工作进度和计划。它以新博客和第三方软件为重点。ASPNET Core 2.1的新增功能2018/8/31二Edi Q nl ne本文重点介绍ASP.NETCore 2.1中最重要的更故, 并提供相关文档的链接。Signal R已针对ASP, NETCore 2.1重新编写Signal R.ASP.NETCore Signal R包含大量改进;·简化横向扩展模型。·新JavaScript客户端不具有j Query依赖项。·新紧凑型二进制协议基于Message Pack.·支持自定义协议。·新的流式处理响应模型。·支持基于裸机Web Socket的客户端,有关详细信息, 请参阅ASP.NETCore Signal R.Razor类库
通过ASPNET Core 2.1可以更容易地在库中生成和包括基于Razor的UI.井跨多个项目共享UI。新Razor SDK支持将Razor文件生成到可打包为Nu Get包的类库项目中。应用可以自动发现和覆盖库中的视图和页面, 通过将Razor编译集成到生成中:·应用后动时间可显著加快。·在迭代开发工作流过程中, 仍可在运行时快速更新Razor视图和页面,有关详细信息, 请参阅使用Razor类库项目创建可重用UI。标识UI库和基架ASPNET Core 2.1提供ASPNET Core标识作为Razor类库。包含标识的应用可以应用新的标识基架, 以便有选择地添加标识Razor类库(RCL) 中包含的源代码。建议生成源代码, 以便修改代码和更改行为。例如, 可以指示基架生成在注册过程中使用的代码。生成的代码优先于标识RCL中的相同代码。不包含身份验证的应用可以应用标识基架以添加RCL标识包。可以选择要生成的标识代码。有关详细信息, 请参阅ASP.NETCore项目中的基架标识。HTTPS随着对安全和隐私的关注度日益增加, 为Web应用启用HTTPS变得非常重要。Web上正在越来越严格要求强制使用HTTPS。不使用HTTPS的站点会被视为不安全的站点。浏览器(Chromium、Moz lia) 开始强制要求必须在安全的上下文中使用Web功能。GDP R要求使用HTTPS保护用户隐私。不仅在生产环境中使用HTTPS至关重要,而且在开发环境中使用HTTPS还可以帮助防止部署中的各种问题(例如, 不安全的链接) 。ASP.NETCore 2.1包含大量改进, 更方便在开发环境使用HTTPS和在生产环境配置HTTPS。有关详细信息, 请参阅强制使用HTTPS。默认开后为了提高网站开发的安全性.现在默认后用HTTPS。M 2.1开始, 当存在本地开发证书时, Kestrel将侦听https://localhost:5601。开发证书会创建于以下情况:·首次使用SDK时, 在NETCore SDK首次运行体验的过程中。
·手动使用新dev-certs工具,运行dotnet dew-certs https--trust以偶任证书。HTTPS重定向和强制使用Web应用通常需要侦听HTTP和HTTPS.但随后会将所有HTTP流量重定向到HTTPS。在2.1中, 引入了专用的HTTPS重定向中间件, 可根据配置或绑定服务器端的存在智能执行重定向。使用HTTP严格传轮安全协议(H STS) 可进一步强制使用HTTPS。H STS指示浏览器始终通过HTTPS访问站点。ASP.NETCore 2.1添加H STS中间件, 该中间件支持选择最大年限、子域和H STS预加载列表。适用于生产环境的配置在生产中, 必须显式配置HTTPS。在2.1中, 添加了默认配置架构, 可用于针对Kestrel配置HTTPS。可以将应用配置为使用·多个终结点(包括URL) 。有关详细信息, 请参阅Kestrel Web服务器实现:终结点配置,·用于HTTPS的证书可能来自于盘上的文件或证书存储。GDP RASP.NETCore提供API和模板, 帮助满足欧盟一般数据保护条例(GDP R) 的部分要求。有关详细信息, 请参阅ASPNET Core中的GDP R支持。示例应用演示如何使用并允许满试已添加到ASP.NETCore 2.1模板中的大多数GDP R扩展点和API。集成测试引入了可简化创建和执行测试的新包。Microsoft AspNet Core.Mvc.Testing包可处理以下任务:·将依赖项文件(*.deps) 从已测试的应用复制到测试项目的bin文件夹中。·将内容根目录设置为已测试应用的项目根目录,以便可在执行测试时找到静态文件和页面/视阀。·提供Web Applica ion Factory类, 以简化已测试应用在Test Server中的后动过程,以下测试使用x Unit检查乘引页是否加载了成功状态代码和正确的Content-Type标头:public class Basic Tests有关详细信息,请参间集成满试主题。[Api Controller] , Action Result T>ASP.NETCore 2.1添加了新编程约定, 方便构建简洁的说明性Web API。Action Result cT) 是一个新增类型.可允许应用返回响应类型, 或返回任何其他操作结果(与IAci on Result相似) , 同时仍然指示响应类型。此外还添加了[Api Controller] 特性, 作为选择加入特定于Web API的约定和行为的方式。有关详细信息, 请参阅使用ASP.NETCore构迪Web API。I HttpClient FactoryASP.NETCore 2.1引入了新的I HttpClient Factory服务, 方便在应用中配置和使用HttpClient的实例。Httpclient已经具有委托处理程序的概念.这些委托处理程序可以链接在一起, 处理出站HTTP请求。工厂可以:·使根据已命名客户端注册HttpClient的实例变得更直观。·实现一个Polly处理程序, 允许将Polly策略用于Retry、Circuit Breakers等。有关详细信息, 请参阅后动HTTP请求,对于ASPNET Core 2.1版, Kestrel默认传输不再基于Lib uv, 而是基于托管的套接字。有关详细信息, 请参阅引入了通用主机生成器(Host Builder) 。此生成器可用于不处理HTTP请求(消息传送、后台任务等等) 的应用。更新了适用于Angular、React和React结合Redux的单页应用程序模板, 以使用标准项目结构和为每个框架构建Angular模板基干Angular CLI, 而React模板基干create-react app。有关详细信息, 请参阅通过ASP.NETCoreRazor Pages现在支持区域。要查看区域示例, 请使用个人用户帐户创建新Razor Pages Web应用。使用个人用户
Contents
介绍
新增功能
新增功能
新增功能
入门
创建Web应用
创建Web API
教程
创建Razor页面Web应用
Razor页面入门
添加模型
已搭建基架的Razor页面
SQLServer Local DB
更新页面
添加搜索
添加新字段
添加验证
创建实时Signal R Web应用
使用TypeScript创建Signal R web应用
创建MVC Web应用
入门
添加控制器
添加视图
添加模型
使用SQLServer Local DB
控制器方法和视图
添加搜索
添加新字段
添加验证
检查Details和Delete方法
生成Web API
在VisualStudio Code中创建Web API
在VisualStudio for Mac中创建Web API
在VisualStudio中创建Web API
为本机移动应用创建后端服务
使用Swagger的帮助页
N Swag入门
Swash buckle入门
数据访问-使用EF Core
数据访问-使用Razor页面和EF Core
入门
创建、读取、更新和删除操作
排序、筛选器、页和组
迁移
创建复杂数据模型
读取相关数据
更新相关数据
处理并发冲突
数据访问-MVC与EF Core
入门
创建、读取、更新和删除操作
排序、筛选器、页和组
迁移
创建复杂数据模型
读取相关数据
更新相关数据
处理并发冲突
继承
高级主题
跨平台教程
macOS上的Razor页面Web应用
Razor页面入门
添加模型
已搭建基架的Razor页面
使用SQLite
更新页面
添加搜索
使用VS代码的Razor页面Web应用
Razor页面人门
添加模型
已搭建基架的Razor页面
使用SQLite
更新页面
添加搜索
使用VisualStudio for Mac的MVC Web应用
入门
添加控制器
添加视图
添加模型
使用SQLite
控制器方法和视图
添加搜索
添加新字段
添加验证
检查Details和Delete方法
在macOS或Linux上使用VisualStudio Code创建MVC Web应用
入门
添加控制器
添加视图
添加模型
使用SQLite
控制器方法和视图
添加搜索
添加新字段
添加验证
检查Details和Delete方法
使用VisualStudio for Mac创建Web API
使用VisualStudio Code创建Web API
使用文件观察程序开发应用
为移动应用创建后端服务
基础知识
应用程序后动
依赖关系注人(服务)
中间件
中间件
基于工厂的中间件
Factory-based middleware with third-party container(第三方容器中基于工厂的中间
件)
静态文件
路由
URL重写中间件
使用多个环境
配置和选项
配置
选项
日志记录
日志记录与Logger Message
处理错误
主机
Web主机
通用主机
使用托管服务的后台任务
从外部程序集增强应用
服务器
Kestrel
ASP.NETCore模块
HTTP.sys
会话和应用状态
文件提供程序
存储库模式
全球化和本地化
创建标记帮助程序
在窗体中使用标记帮助程序
内置标记帮助程序
使用Orchard Core配置可移植对象本地化
后动HTTP请求
请求功能
访问HttpContext
基元
更改牌
.NET的开放Web接口(OW IN)
Web Sockets
Microsoft.AspNet Core.App元包
Microsoft.AspNet Core.All metapackage
在.NETCore和.NET Framework之间进行选择
在ASP.NETCore和ASP.NET之间进行选择
Razor页面
Razor页面的筛选方法
创建一个Razor类库
路由和应用约定
将文件上传到Razor页
Razor SDK
MVC
模型绑定
模型验证
视图
Razor语法
视图编译
布局
标记帮助程序
定位点标记帮助程序
缓存标记帮助程序
分布式缓存标记帮助程序
环境标记帮助程序
表单标记帮助程序
图像标记帮助程序
输入标记帮助程序
标签标记帮助程序
部分标记帮助程序
选择标记帮助程序
文本区标记帮助程序
验证消息标记帮助程序
验证摘要标记帮助程序
部分视图
视图中的依赖关系注入
视图组件
控制器
路由到控制器操作
文件上传
控制器中的依赖关系注入
测试控制器
高级
使用应用模型
筛选器
区域
应用程序部件
自定义模型绑定
兼容性版本
Web API
控制器操作返回类型
高级
自定义格式化程序
格式化响应数据
Signal R
介绍
人门
服务器概念
支持的平台
中心
Hub Context
用户和组
发布到Azure
客户端
NET客户端
Java客户端
JavaScript客户端
JavaScript API
Web Pack和TypeScript
配置
身份验证和授权
安全注意事项
Message Pack中心协议
流式处理
Signal R版本之间的差异
测试、调试和疑难解答
单元测试
集成测试
Razor页面单元测试
测试控制器
远程调试
快照调试
VisualStudio中的快照调试
疑难解答
使用EF Core进行数据访问
通过VisualStudio开始使用Razor页面和EF Core
通过VisualStudio开始使用ASP.NETCore和EF Core
ASP.NETCore和EF Core-新数据库
ASP.NETCore和EF Core-现有数据库
开始使用ASP.NETCore和Entity Framework 6
Azure存储
使用VisualStudio连接服务添加Azure存储
开始使用Blob存储和VisualStudio连接服务
开始使用队列存储和VisualStudio连接服务
开始使用表存储和VisualStudio连接服务
Azure指南
通过ASP.NETCore和Azure实现Dev Ops
介绍
工具和下载
部署到应用服务
持续集成和部署
监视和故障排除
后续步骤
客户端开发
使用Gulp
使用Grunt
使用LibMan
LibMan CLI
VisualStudio中的LibMan
使用Bower管理客户端包
使用Bootstrap构建响应式站点
使用LESS、Sass和Font Awesome为应用设置样式
捆绑和缩小
使用浏览器链接
对SPA使用JavaScript Services
使用SPA项目模板
Angular项目模板
React项目模板
带Redux的React项目模板
移动
为本机移动应用创建后端服务
托管和部署
托管Azure应用服务
使用VisualStudio发布到Azure
使用CLI工具发布到Azure
使用VisualStudio和Git持续部署到Azure
使用Azure Pipelines对Azure进行持续部署
对Azure应用服务上的ASP.NETCore进行故障排除
使用I IS在Windows上进行托管
对I IS上的ASP.NETCore进行故障排除
ASP.NETCore模块配置参考
VisualStudio中针对ASP.NETCore的开发时I IS支持
I IS Modules与ASP.NETCore
在Windows服务中进行托管
在Linux上使用Ng in x进行托管
在Linux上使用Apache进行托管
在Docker中进行托管
生成Docker映像
VisualStudio Tools for Docker
发布到Docker映像
代理和负载均衡器配置
在Web场中托管
VisualStudio发布配置文件
目录结构
Azure应用服务和I IS的常见错误参考
安全性
身份验证
标识简介
基架标识
将自定义用户数据添加到标识
自定义标识
社区OSS身份验证选项
配置标识
配置Windows身份验证
配置标识的主键类型
自动以标识的存储提供程序
外部提供程序
Facebook身份验证
在没有标识的情况下使用cookie身份验证
将Azure AD集成到ASP.NETCore Web应用中
Twitter身份验证
Google身份验证
Microsoft身份验证
其他身份验证提供程序
其他声明
WS联合身份验证
帐户确认和密码恢复
在标识中后用QR代码生成
使用SMS设置双因素身份验证
Azure Active Directory
将AzureADB2C集成到面向客户的ASP.NETCore Web应用中
Integrate AzureADB2CintoanASP.NETCore web APl(将AzureADB2C集成到
ASP.NETCore Web API中)
从使用Azure AD的WPF应用调用ASP.NETCore Web API
使用Azure AD在ASP.NETCore Web应用中调用Web API
使用Identity Server 4保护AS