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 的改名计划,感觉跨平台的时代快要来了,从之前的 ...
随机推荐
- ubuntu上vritualbox为系统分配硬盘空间
VBoxManage是virtualbox 在ubuntu上提供的管理virtualbox的命令行命令 VBoxManage modifyhd windowsDevEnv --resize VBoxM ...
- py-faster-rcnn的常见错误
在py-faster-rcnn配置运行faster-rcnn-end2end-VGG-CNN_M_1024的过程中, 执行命令:./experiments/scripts/faster_rcnn_en ...
- mysql简易导入excel
方法-:利用excel本身的命令实现: 1 将excel文件中的数据转换成sql文件 (1)如图所示,我们在excel中执行如下语句 =CONCATENATE(“insert into table_n ...
- Day 1总结
- MOOC 数据库系统笔记(一):初步认识数据库系统
概述 什么是数据库 数据库是电子化信息的集合 数据库起源于规范化"表(Table)"的处理. Table:以按行按列形式组织及展现的数据. E.F.Codd,基于对"表( ...
- 06.Django基础五之django模型层(二)多表操作
一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...
- Java匹马行天下之C国程序员的秃头原因
Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...
- 代码审计之SQL注入及修复
在新手入门web安全的时候,sql注入往往是最先上手的一个漏洞,它也是危害相当大的一个漏洞,存在此漏洞的话,将有被脱裤的风险. 以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以 ...
- (6)autotools工具的使用
autotools是专门用来生成Makefile的一系列工具,包括autoscan.aclocal.autoheader.autoconf.automake等. (1)autotools ...
- 一行命令安装docker和docker-compose(CentOS7)
想快速装好docker和docker-compose ?那就随本文用一次复制粘贴来完成安装: 环境信息 操作系统:CentOS Linux release 7.7.1908 (Core, 操作账号:r ...