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 的改名计划,感觉跨平台的时代快要来了,从之前的 ...
随机推荐
- jvm内存溢出问题的定位方法
jvm内存溢出问题的定位方法 今天给大家带来JVM体验之内存溢出问题的定位方法. 废话不多说直接开始: 一.Java堆溢出 测试代码如下: import java.util.*; public cla ...
- tomcat日志信息查看
不要老只看 start in xxx ms 后的信息,有时在部署项目时可能就出错了呢? 按照下面这样子做,会使用tomcat输出的错误信息更为详细 在WEB-INF/classes目录下新建一个名为 ...
- Flask学习之旅--还是数据库(sqlacodegen + SQL Alchemy)
一.写在前面 其实之前已经写过一篇关于 Flask 中使用数据库的博客了,不过那一篇博客主要是记录我在使用 Flask + MySQL8.0 时所遇到的一些问题(如果用的不是 MySQL8.0估计就没 ...
- 公众号第三方授权 以及微信H5支付(前端)
由于公司业务需要,想用户通过我们公众号平台支付的金额直接进去用户自己的账户,所以涉及到公众号第三方授权: 由于涉及第三方,故需要在微信开放平台创建第三方平台: 创建第三方平台:(申请页面链接:http ...
- uboot学习之uboot-spl的程序流程分析
uboot-spl的程序流程主要包含下面的几个函数: _start->reset->save_boot_params->cpu_init_crit->lowlevel_init ...
- nginx如何配置负载均衡
自己学习用 面试回答如下: 在nginx里面配置一个upstream,然后把相关的服务器ip都配置进去.然后采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream ...
- H5当弹出弹窗遮罩时如何阻止滚动穿透(使用css方式)
最近的一个H5活动中有一个是点击[分享]弹窗指引遮罩弹窗引导用户进行分享,但突然发现弹出弹窗的时候下层仍然可以进行滑动,这个问题是个H5经久不衰讨论的问题,重点是我这个页面在安卓系统上有明显的滑动闪烁 ...
- 搭建第一个node服务器
1.在项目文件夹根目录创建app.js: (1)先引入模块 const http = require('http');//http是安装好node就有的一个模块,是用来创建http服务器的 (2)创建 ...
- 5分钟了解Prometheus
Prometheus(译:普罗米修斯)用领先的开源监控解决方案为你的指标和警报提供动力(赋能). 1. 概述 1.1. Prometheus是什么? Prometheus是一个开源的系统监控和警报 ...
- 关于WinForm TreeView的分享~
最近在写个测试demo的时候使用到WinForm TreeView,已经好久没接触了,有些生疏,所以还是记录一下遇到的一些问题. 1.如果动态绑定TreeView,这个功能一般会在数据量不确定,需要去 ...