.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.ServerRenderModel.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!

最新文章

  1. springmvc @responsebody 406/415问题解决
  2. [VB.NET]调用API获取/设置键盘按键状态
  3. 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)
  4. RSA 加解密转换
  5. .NET微信公众号开发-4.0公众号消息处理
  6. hiho#1145 : 幻想乡的日常
  7. 【海岛帝国系列赛】No.3 海岛帝国:运输资源
  8. pt-query-digest怎么分析慢查询日志分析数据
  9. python中cPickle的用法
  10. EnterpriseLibrary之Caching应用
  11. sencha Touch 2.4 学习之 XTemplate模板
  12. u盘禁用
  13. [Java]利用栈判断括号是否完整配对
  14. CAShapeLayer+CADisplayLink 波浪动画
  15. spring annotation功能备注
  16. linux_快照和克隆
  17. lsof/netstat命令的一个重要作用: 根据进程查端口, 根据端口查进程
  18. Codeforces 1154G Minimum Possible LCM
  19. HTTP 协议报文解析
  20. linq时间筛选以及list时间筛选

热门文章

  1. NOIP2006 1.明明的随机数
  2. Python集训营45天—Day04 (函数)
  3. ACM代码模板
  4. SVN检出后文件没有图标显示
  5. JavaScript自动播放背景音乐
  6. 9 个基于JavaScript 和 CSS 的 Web 图表框架
  7. 死磕 java同步系列之终结篇
  8. MongoDB4.0支持事务管理
  9. Java基础学习笔记(三) - 抽象类和接口
  10. 【HIVE】各种时间格式处理