ASP.NET Core新特性
1. ASP.NET Core2.1
ASP.NET Core 2.1于2018年5月30日发布。是ASP.NET Core框架的一个重要版本,带来了许多新功能和改进。以下是ASP.NET Core 2.1中一些主要的特性:
-
SignalR:引入了 SignalR,这是一个实时通信库,使得构建实时Web应用程序和服务变得更加容易。
-
HTTPS 支持:ASP.NET Core 2.1增强了对HTTPS的支持,包括开箱即用的HSTS(HTTP Strict Transport Security)支持。
-
IIS in-process hosting:引入了直接在IIS中托管应用程序的功能,提供了更好的性能和集成。
-
SpaTemplates:新增了针对Angular和React等单页应用程序(SPA)的预配置模板,简化了构建现代客户端应用程序的流程。
-
HttpClientFactory:引入了 HttpClientFactory,提供了更好的HttpClient实例管理和配置的机制,有助于提高性能和可维护性。
-
MVC 模型绑定改进:增强了MVC模型绑定功能,包括对复杂类型的更好支持和对数据注解的改进。
-
API 文档生成:内置了对Swagger/OpenAPI规范的支持,可以自动生成API文档,方便API的调用和测试。
-
性能优化:ASP.NET Core 2.1对性能进行了改进,包括更快的路由、更快的JSON序列化和更小的内存占用。
-
安全性增强:引入了更多的安全特性,如对密码哈希和验证的改进、更严格的CORS控制等。
2.ASP.NET Core2.2
ASP.NET Core 2.2于2018年12月4日发布。与ASP.NET Core 2.1相比,ASP.NET Core 2.2带来了一些新功能和改进,主要包括:
-
Endpoint Routing:引入了 Endpoint Routing,提供了更好的路由性能和更灵活的路由配置选项。
-
Health Checks:引入了健康检查功能,用于监视应用程序的状态并提供状态信息。
-
SignalR Java客户端支持:增加了对SignalR Java客户端的支持,使得跨平台实时通信更加简单。
-
HTTPS 改进:增强了对HTTPS的支持,包括更容易配置和部署HTTPS证书等方面的改进。
-
Kestrel 服务器改进:对Kestrel Web 服务器进行了性能和稳定性的改进,提高了处理负载的能力。
4.ASP.NET Core3.0
ASP.NET Core 3.0于2019年9月23日发布。相较之前的版本,ASP.NET Core 3.0带来了一系列重要的改进和功能增强,主要包括:
-
Desktop应用程序支持:引入了Windows桌面应用程序开发模式,允许使用ASP.NET Core构建WPF和Windows Forms的桌面应用程序。
-
端到端加密:引入了端到端加密,使得数据在客户端和服务端之间的传输更加安全可靠。
-
新的JSON序列化器:引入了System.Text.Json作为默认的JSON序列化器,提供更好的性能和功能。
-
gRPC支持:引入了对gRPC的原生支持,可以轻松构建高性能、跨平台的远程过程调用(RPC)服务。
-
Endpoint Routing改进:进一步改进了Endpoint Routing的功能,提供更高效的路由处理和更灵活的配置选项。
-
SignalR支持改进:对SignalR进行了优化和改进,使得实时通信功能更加稳定和可靠。
-
Blazor WebAssembly:引入了Blazor WebAssembly,允许使用C#构建基于WebAssembly的客户端应用程序,从而实现完全在浏览器中运行的Web应用。
-
Entity Framework Core 3.0:升级了Entity Framework Core,提供更多的功能和改进,如查询性能优化、事件回调等。
-
安全性增强:引入了更多的安全功能和选项,如对Cookie策略的改进、标头编码器的增强等。
5.ASP.NET Core3.1
ASP.NET Core 3.1于2019年12月3日发布。关注的是如何对用于Razor组件的Partial类以及新的组件标记助手进行改进
6.ASP.NET Core 5.0
ASP.NET Core 5.0于2020年11月10日发布。ASP.NET Core 5.0带来了许多新特性和改进。
-
Razor 模板组件:引入了 Razor 模板组件,这是一种重要的新功能,允许将Razor视图抽象为可重用的组件,提供更好的代码重用性和组件化开发体验。
-
.NET 5 集成:ASP.NET Core 5.0紧密集成了.NET 5,这意味着开发人员可以利用.NET 5所带来的所有新功能和性能优化,如C# 9.0、性能改进、JSON序列化器改进等。
7.理解SignalR
SignalR 是一个用于构建实时 Web 应用程序的库,它允许服务器端代码将实时数据推送到客户端,并且允许客户端和服务器之间进行双向通信。这种实时通信的能力对于需要实时更新的应用程序(如聊天应用、协作工具、实时监控等)非常重要。
SignalR 可以在不同的传输协议上工作,包括 WebSocket、Server-Sent Events(SSE)、Long Polling 等,因此可以在各种浏览器和设备上提供一致的实时通信体验。
使用 SignalR,开发人员可以轻松地创建具有实时功能的 Web 应用程序,而无需过多关注底层的通信细节。它简化了实时通信的复杂性,提供了易于使用的 API,使得在 Web 应用中添加实时功能变得更加容易。
希望这些关于ASP.NET Core 2.1、2.2、3.0、3.1和5.0版本的概述对您有所帮助。如果您对ASP.NET Core或SignalR有更多疑问,或者需要了解其他主题,请随时向我提问。我随时为您效劳!
相关文章:
ASP.NET Core新特性
1. ASP.NET Core2.1 ASP.NET Core 2.1于2018年5月30日发布。是ASP.NET Core框架的一个重要版本,带来了许多新功能和改进。以下是ASP.NET Core 2.1中一些主要的特性: SignalR:引入了 SignalR,这是一个实时通信库,使得构…...
26-Java访问者模式 ( Visitor Pattern )
Java访问者模式 摘要实现范例 访问者模式(Visitor Pattern)使用了一个访问者类,它改变了元素类的执行算法,通过这种方式,元素的执行算法可以随着访问者改变而改变访问者模式中,元素对象已接受访问者对象&a…...
电子科技大学链时代工作室招新题C语言部分---题号G
1. 题目 问题的第一段也是非常逆天,说实话,你编不出问题背景可以不编。 这道题的大概意思就是, Pia要去坐飞机,那么行李就有限重。这时Pia想到自己带了个硬盘,众所周知,硬盘上存储的数据就是0和1的二进制序…...
体育运动直播中的智能运动跟踪和动作识别系统 - 视频分析如何协助流媒体做出实时决策
AI-Powered Streaming Vision: Transforming Real-Time Decisions with Video Analytics 原著:弗朗西斯科冈萨雷斯|斯特朗(STRONG)公司首席ML科学家 翻译:数字化营销工兵 实时视频分析通过即时处理实时视频数据&…...
Avalon总线学习
Avalon总线学习 avalon总线可以分为: Avalon clock interface Avalon reset interface Avalon Memory mapped interface Avalon iterrupt interface Avalon streaming interface Avalon tri-state conduit interface Avalon conduit interface 1、Avalon c…...
Sentinel(熔断规则)
慢调用比例 慢调用比例( SLOM_REQUEST_RATTo ):选择以慢调用比例作为阈值,需要设置允许的慢调用RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,…...
Hive借助java反射解决User-agent编码乱码问题
一、需求背景 在截取到浏览器user-agent,并想保存入数据库中,经查询发现展示的为编码后的结果。 现需要经过url解码过程,将解码后的结果保存进数据库,那么有几种实现方式。 二、问题解决 1、百度:url在线解码工具 …...
Linux下安装Android Studio及创建桌面快捷方式
下载 官网地址:https://developer.android.com/studio?hlzh-cn点击下载最新版本即可 安装 将下载完成后文件,进行解压,然后进入android-studio-2023.2.1.23-linux/android-studio/bin目录下,启动studio.sh即可为了更加方便的使…...
【析】一类动态车辆路径问题模型和两阶段算法
一类动态车辆路径问题模型和两阶段算法 摘要 针对一类动态车辆路径问题,分析4种主要类型动态信息对传统车辆路径问题的本质影响,将动态车辆路径问题(Dynamic Vehicle Routing Problem, DVRP)转化为多个静态的多车型开放式车辆路径问题(The Fleet Size a…...
从基础入门到学穿C++
前言知识 C简介 C是一门什么样的语言,它与C语言有着什么样的关系? C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解…...
代码随想录算法训练营第二十四天|leetcode78、90、93题
一、leetcode第93题 class Solution { public:vector<string> restoreIpAddresses(string s) {int n s.size();vector<string> res;function<void(string, int, int)> dfs [&](string ss, int idx, int t) -> void {// 终止条件,枚举完&…...
Java学习笔记NO.20
Java流程控制 1. 用户交互 Scanner Java中的Scanner类用于获取用户输入,可以从标准输入(键盘)读取各种类型的数据。 import java.util.Scanner; public class UserInputExample { public static void main(String[] args) { Scanner sc…...
关系型数据库mysql(1)基础认知和安装
目录 一.数据库的基本概念 1.1数据 1.2表 1.3数据库 1.4 DBMS 数据库管理系统 1.4.1基本功能 1.4.2优点 1.4.3DBMS的工作模式 二.数据库的发展历史 2.1发展的三个阶段 第一代数据库 第二代数据库 第三代数据库 2.2mysql发展历史 三.主流数据库 四.关系型数据库和…...
WanAndroid(鸿蒙版)开发的第三篇
前言 DevEco Studio版本:4.0.0.600 WanAndroid的API链接:玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考: 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …...
全国农产品价格分析预测可视化系统设计与实现
全国农产品价格分析预测可视化系统设计与实现 【摘要】在当今信息化社会,数据的可视化已成为决策和分析的重要工具。尤其是在农业领域,了解和预测农产品价格趋势对于农民、政府和相关企业都至关重要。为了满足这一需求,设计并实现了全国农产…...
堆排序(数据结构)
本期讲解堆排序的实现 —————————————————————— 1. 堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 • 升序:建大堆 • 降序:建小堆 2. 利用堆删除思想来进行排序. 建堆和堆删…...
使用DMA方式控制串口
本身DMA没什么问题,但是最后用GPIOB点灯,就是点不亮。 回到原来GPIO点灯程序,使用GPIOB就是不亮,替换为GPIOA就可以,简单问题总是卡得很伤。...
ModbusTCP转Profinet网关高低字节交换切换
背景:在现场设备与设备通迅之间通常涉及到从一种字节序(大端或小端)转换到另一种字节序。大端字节序是指高位字节存储在高地址处,而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTC…...
OpenvSwitch VXLAN 隧道实验
OpenvSwitch VXLAN 隧道实验 最近在了解 openstack 网络,下面基于ubuntu虚拟机安装OpenvSwitch,测试vxlan的基本配置。 节点信息: 主机名IP地址OS网卡node1192.168.95.11Ubuntu 22.04ens33node2192.168.95.12Ubuntu 22.04ens33 网卡信息&…...
GPT能复制人类的决策和直觉吗?
GPT-3能否复制人类的决策和直觉? 近年来,像GPT-3这样的神经网络取得了显著进步,生成的文本几乎与人类写作内容难以区分。令人惊讶的是,GPT-3在解决数学问题和编程任务方面也表现出色。这一显著进步引发了一个问题:GPT…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
