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 的改名计划,感觉跨平台的时代快要来了,从之前的 ...
随机推荐
- Redis相关安装TCL
安装相关命令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gzsudo tar -xzvf tcl8.6.1-src.tar. ...
- Python集训营45天—Day04 (函数)
目录 1. 函数介绍 2. 函数的参数 3. 模块与函数 4. 递归函数 5. 匿名函数 6. 多返回值 python 的学习已经进入到第四天,前面几章我们已经学会了基本的变量操作,以及分支结构和循环 ...
- 浅谈DanmakuView
今天简单介绍一下开源的弹幕引擎---danmakuView 使用之前在build.gradle里面添加下面这一条(目前我使用的工具是AndroidStudio 3.1.2) impleme ...
- mysql-connector-java-5.-bin.jar 下载方法
访问https://downloads.mysql.com/archives/c-j/,选择相应版本,如图 加油zip即可得到
- pip安装Mysql-python报错EnvironmentError: mysql_config not found
如下图,安装Mysql-python报错EnvironmentError: mysql_config not found 经过验证,可通过以下方式解决: 从官网下载mysql安装,成功之后输入PATH ...
- [C++] 头文件中不要用using namespace std
先总结下: 1. using namespce std:尽量不要(或者强硬一点,不许)在头文件中使用. 解析: 不让这么用,主要原因就是防止名字重复(即自定义变量名和std中名字重复),因为头文件会被 ...
- 2020Pycharm安装教程!最新2020pycharm安装!如何安装Pycharm2020版本!如何安装Pycharm!如何安装2020Pycharm!2020Pycharm永久激活!
本教程仅用作个人学习,请勿用于商业获利,造成后果自负!!! Pycharm安装 在这插一个小话题哈,Pycharm只是一个编译器,并不能代替Python,如果要使用Python,还是需要安装Pytho ...
- setInterval、setTimeout之遗忘的第三个参数
今天看阮一峰老师的ES6入门,在一个关于promise的小demo里,老师用到了setTimeout的第三个参数,惊了有没有,定时器还有第三个参数? 喏就是下面这个demo: function tim ...
- ZIP压缩和解压字符串
由于ZIP压缩会产生头信息, 所以当字符串长度没有达到一定规模的时候, 压缩后的长度可能比原来的还长 // 将一个字符串按照zip方式压缩和解压缩 public class ZipUtil { // ...
- Docker运行mysql,redis,oracle容器和SpringBoot项目
dokcer运行SpringBoot项目 from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT ...