What'S新的.NET Core 3.0适用于今天福彩字谜总汇页面

今年晚些时候,.NET核心3.0将被释放。主要功能包括WPF和Windows表单支持 (虽然仅在Windows操作系统上)和服务器端布莱诺。今天福彩字谜总汇页面应用程序也会看到一些 变化。我将其中一些涵盖了其中一些升级申请的一部分从2.2到3.0升级。 然后我快速查看一些其他新功能。请注意,本文中的信息基于预览6,是主题 to change.

对于许多开发人员来说,影响今天福彩字谜总汇页面应用程序的更改是 不仅仅是实现细节,这解释了为什么从2.2升级 3.0实际上是一个非常简单的过程,如下步骤描述:

1.更改目标框架。这是在csproj文件中完成的。修改它 that it says netcoreapp3.0:

<PropertyGroup>
  <TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>

2. In ConfigureServices, replace services.AddMvc(); with services.AddRazorPages();。这会增加特定于今天福彩字谜总汇页面的服务, 选项和约定,以及一些植根的一般服务 在MVC中,如视图,Tempdata,Antiforcery,Tag帮助程序等。它还添加了基本 支持控制器,因此如果要添加一些API控制器,则不会 需要添加任何其他服务。

3. In the Configure method, replace app.UseMvc(); with

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapRazorPages();
});

This adds EndPointRoutingMiddleware followed by EndPointMiddleware. The MapRazorPages call ensures that endpoint 路由设置为今天福彩字谜总汇页面。如果您想为控制器添加路由, you would include endpoints.MapControllers(); to the lambda:

app.UseEndpoints(endpoints =>
{
    endpoints.MapRazorPages();
    endpoints.MapControllers();
});

终点路由被引入为2.2的一部分,但它没有暴露于 那时今天福彩字谜总汇页面。在3.0中,它是默认路由 系统。它已经是,而不是被作为MVC的一部分管理 分成单独的服务,这意味着您可以灵活 它在中间件管道中添加的地方。这意味着在实践中是什么 您可以使用管道访问路由信息 call to app.UseEndpoints. This is useful if you want to add 基于路由执行任务的中间件。以前,你只有 访问请求进入的URL的信息。现在你有 访问有关与URL匹配的路由的信息。

这就是升级。那么还有什么新的?

新的JSON读者和作家

ASP.NET核心应用程序使用新组件来管理JSON - system.text.json.. 这是Corefx的一部分,并替换社区库的JSON.NET。如果你是 升级显式依赖JSON.NET的应用程序,您需要 选择使用它,您可以通过安装来完成 microsoft.aspnetcore.mvc.newtonsoftjson. 来自尼古特。这会添加JSON.NET. to the project and makes an extension method available to IServiceCollection - AddNewtonsoftJson, which you can chain with AddRazorPages in ConfigureServices:

services.AddRazorPages().AddNewtonsoftJson();

system.text.json针对速度进行了优化。它利用了一些新的C#8.0 类型.NET Core 3.0也支持。

今天福彩字谜总汇组件

今天福彩字谜总汇组件是Blazor应用程序的构建块。但是你可以 还在今天福彩字谜总汇页面应用程序中使用它们,在那里他们以类似的方式行事 both partials and 看法 Components,代表UI的一部分。这是一个简单的例子 introduction.

要启用今天福彩字谜总汇组件,您需要致电

services.AddServerSideBlazor();

Razor组件可作为“添加新项目”对话框中的选项:

根据您的VS 2019预览版本,这可能会生成一个 .cshtml. file or a .razor 文件。如果它生成一个 .cshtml. 文件,改变 the extension to 今天福彩字谜总汇。我打电话给我的文件 democomponent.razor. 和 added an h2 element to the default content that renders the current time:

<h3>DemoComponent</h3>
<h2>@DateTime.Now</h2>


@code {

}

我在文件夹名称中保存了这一点 今天福彩字谜总汇components。生成的类将自动分配与文件夹路径匹配的命名空间。 A new method has been added to the Html helper - RenderComponentAsync, which is 用于在今天福彩字谜总汇页面中包含组件

@(await Html.RenderComponentAsync<今天福彩字谜总汇components.DemoComponent>())

今天福彩字谜总汇组件比这更强大。它们可以接受例如参数,并且您可以通过构思多个组件构建复杂的参数。

概括

正如我在开始的开始,大多数影响今天福彩字谜总汇页面(和MVC)的大多数更改都不太可能在大多数应用程序中表面。您可以稍微更有选择您在应用程序中包含的组件,而不是始终添加MVC,并且在新路由故事周围存在一些潜在的有用功能。但 在今天福彩字谜总汇页中的宣言和管理 比以前相同。可能是最值得注意的功能是使用今天福彩字谜总汇组件的能力,我计划在未来的帖子中更详细地查看。