ASP.NET Core在 .NET Core 3.1 Preview 1中的更新
.NET Core 3.1 Preview 1现在可用。此版本主要侧重于错误修复,但同时也包含一些新功能。
这是此版本的ASP.NET Core的新增功能:
- 对Razor components的部分类支持
- 将参数传递给顶级组件
- 在HttpSysServer中支持共享队列
- 在SameSite cookies的重大更改
除了.NET Core 3.1 Preview版本发布之外,我们还发布了Blazor WebAssembly的更新,现在要求.NET Core 3.1. 若要使用Blazor WebAssembly,您需要安装.NET Core 3.1 Preview 1以及Visual Studio的最新预览版。
有关其他详细信息和已知问题,请参见发行说明
开始吧
要在.NET Core 3.1 Preview 1 中使用ASP.NET Core,需要安装.NET Core Preview 1 SDK。
如果你是在Windows上使用的Visual Studio,为获得最佳体验,建议你安装Visual Studio 2019 16.4 的最新预览版。安装Visual Studio 2019 16.4 还将安装上.NET Core 3.1 Preview 1,因此你无需单独安装它。为在.NET Core 3.1 中使用Blazor 开发,Visual Studio 2019 16.4是必须的。
要安装最新的Blazor WebAssembly模板,请运行以下命令:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.1.0-preview1.19508.20
升级现有项目
要将现有的ASP.NET Core 3.0项目升级到3.1 Preview 1:
- 将所有针对netcoreapp3.0的项目更新为netcoreapp3.1
- 将所有Microsoft.AspNetCore.*软件包引用更新为3.1.0-preview1.19506.1
另请参阅ASP.NET Core 3.1中重大更改的完成列表。
现在,您应该都已准备好使用.NET Core 3.1 Preview 1!
对Razor components的部分类支持
Razor components现在作为分布类生成。你可以使用定义为局部类的代码隐藏文件编写Razor components的代码,而不用在单个文件中定义该组件的所有代码。
例如,不是用@code块定义默认的Counter component,而是这样:
Counter.razor
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
int currentCount = 0;
void IncrementCount()
{
currentCount++;
}
}
现在,你可以使用部分类将代码分离为代码隐藏文件:
Counter.razor
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
Counter.razor.cs
namespace BlazorApp1.Pages
{
public partial class Counter
{
int currentCount = 0;
void IncrementCount()
{
currentCount++;
}
}
}
将参数传递给顶级组件
现在,Blazor Server应用程序可以在初始渲染期间将参数传递给顶级组件(top-level components)。以前,你只能使用RenderMode.Static将参数传递给顶级组件。在此次发布的版本中,同时支持RenderMode.Server和RenderModel.ServerPrerendered。任何指定的参数值都将序列化为JSON,并包含在初始响应中。
例如,你可以使用特定的当前计数来渲染Counter组件,如下所示
@(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { CurrentCount = 123 }))
在HttpSysServer中支持共享队列
除了HttpSysServer创建匿名请求队列的现有行为外,我们还添加了创建或附加到现有命名HTTP.sys 请求队列的功能。
这应该启用一下方案:拥有队列的HTTP.Sys控制器进程独立于侦听器进程,从而可以在跨多个侦听器进程重新启动之间保留现有的连接和排队的请求。
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
// ...
webBuilder.UseHttpSys(options =>
{
options.RequestQueueName = "MyExistingQueue",
options.RequestQueueMode = RequestQueueMode.CreateOrAttach
})
});
在SameSite cookies的重大更改
此版本更新了ASP.NET Core中SameSite cookie的行为,以符合浏览器强制执行的最新标准。有关这些更改及其对现有应用程序的影响的详细信息,请参见https://github.com/aspnet/Announcements/issues/390。
给予反馈
我们希望您喜欢此ASP.NET Core预览版中的新功能!通过在GitHub上提交问题,请让我们知道您的想法。
感谢您试用ASP.NET Core!

ASP.NET Core在 .NET Core 3.1 Preview 1中的更新的更多相关文章
- ASP.NET Core 在 .NET 6 Preview 2 中的更新
原文:<ASP.NET Core updates in .NET 6 Preview 2>,作者 Daniel Roth .NET 6 预览版 2 现已推出,其中包括许多对 ASP.NET ...
- asp.net core + mysql + ef core + linux
asp.net core + mysql + ef core + linux 以前开发网站是针对windows平台,在iis上部署.由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET ...
- 003.ASP.NET Core tutorials--【Asp.net core 教程】
ASP.NET Core tutorials Asp.net core 教程 2016-10-14 1 分钟阅读时长 本文内容 1.Building web applications 构建web应用 ...
- ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...
- ABP CORE 框架入门视频教程《电话薄》基于 Asp.NET Core2.0 EF Core
ABP框架简介 ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行 ...
- 【译】.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容
.NET Core 3.0 Preview 3已经推出,它包含了一系列关于ASP.NET Core的新的更新. 下面是该预览版的更新列表: Razor组件改进: 单项目模板 新的Razer扩展 E ...
- ASP.net core 使用UEditor.Core 实现 ueditor 上传功能
ASP.net core 使用UEditor.Core 实现 ueditor 上传功能 首先通过nuget 引用UEditor.Core,作者github:https://github.com/bai ...
- ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门
一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...
- ASP.NET Core 与 .NET Core 演变与基础概述
https://github.com/dotnet/corehttps://github.com/aspnet/home 今天看到 .NET Core 的改名计划,感觉跨平台的时代快要来了,从之前的 ...
随机推荐
- Nginx的架构及工作流程
NGINX是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器.NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名,也是为解决C10K问题 ...
- Java连载32-对象、类及其关系与定义
一.采用面向对象的方式开发一个软件,生命周期之中: (1)面向对象的分析:OOA (2)面向对象的设计:OOD (3)面向对象的编程:OOP 二.类 定义:类在现实世界世界之中是不存在的,是一个模板, ...
- Chrome 谷歌浏览器安装使用 Postman 和 Sense 插件
博客地址:http://www.moonxy.com 一.前言 Google Chrome 的特点是简洁.快速等.Chrome 支持多标签浏览,每个标签页面都在独立的"沙箱"内运行 ...
- Scrapy高级用法
日志相关 一.日志相关变量 LOG_LEVEL = '' LOG_FILE = '文件名.log' 二.日志级别 5 CRITICAL :严重错误 4 ERROR :普通错误 3 WARNING :警 ...
- JS基础-全方面掌握继承
前言 上篇文章详细解析了原型.原型链的相关知识点,这篇文章讲的是和原型链有密切关联的继承,它是前端基础中很重要的一个知识点,它对于代码复用来说非常有用,本篇将详细解析JS中的各种继承方式和优缺点进行, ...
- [AWS] Lambda by Python
当前统治数据分析的语言还是Python,还是暂时走:Python + GPU的常规路线好了. numba, pyculib (分装了cublas) Ref: 使用 Python 构建 Lambda 函 ...
- 讨厌的Permission denied:adb访问手机目录时,怎么处理Permission denied问题
故事背景 手机某app出现了无响应,我想找到手机anr日志 但我只知道在data目录的某个目录里有个tra**的文件里有anr日志 具体的我真忘了,所以想要进入data中用ls查看一下 结果就出现了讨 ...
- 给body设置高度
今天做一个小demo,需要给body设置高度为100%,然鹅发现只设置body的height不可行,需,html,body{height:100%;}为何呢?一个容器的height是从上一级继承而来的 ...
- 字符串转数字(with Java)
1. 字符串中提取数字 两个函数可以帮助我们从字符串中提取数字(整型.浮点型.字符型...). parseInt().parseFloat() valueOf() String str = " ...
- Spring 梳理 - 视图解析器 VS 视图(View,ViewResolver)
View View接口表示一个响应给用户的视图,例如jsp文件,pdf文件,html文件等 该接口只有两个方法定义,分别表明该视图的ContentType和如何被渲染 Spring中提供了丰富的视图支 ...