[英]How to reproduce ASP.NET Core 6 conventions (post configure route)
文档包含一些不清楚且与最终结果描述有关的约定https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-6.0#page-route-行动约定
我不明白如何使用此文档来重现所需的结果。
目前我有这些路线规则:
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/2 GET https://localhost:7168/?area=Identity&page=%2FAccount%2FLogin - -
Endpoint: FrontEnd.Controllers.HomeController.Index (FrontEndCode) RoutePattern: {controller=Home}/{action=Index}/{id?}
Endpoint Metadata 0: Microsoft.AspNetCore.Mvc.ControllerAttribute
Endpoint Metadata 1: Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
Endpoint Metadata 2: Microsoft.AspNetCore.Routing.DataTokensMetadata
Endpoint Metadata 3: Microsoft.AspNetCore.Routing.RouteNameMetadata
Endpoint Metadata 4: Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
Endpoint Metadata 5: Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
Endpoint Metadata 6: Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
Endpoint Metadata 7: Microsoft.AspNetCore.Routing.SuppressLinkGenerationMetadata
我想得到这些规则:
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/2 GET https://localhost:7167/Identity/Account/Login - -
Endpoint: /Account/Login
RoutePattern: Identity/Account/Login
Endpoint Metadata 0: Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute
Endpoint Metadata 1: Microsoft.AspNetCore.Identity.UI.IdentityDefaultUIAttribute
Endpoint Metadata 2: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageModelAttribute
Endpoint Metadata 3: Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemMetadataAttribute
Endpoint Metadata 4: System.Runtime.CompilerServices.CreateNewOnMetadataUpdateAttribute
Endpoint Metadata 5: Microsoft.AspNetCore.Mvc.ApplicationModels.PageRouteMetadata
Endpoint Metadata 6: Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor
Endpoint Metadata 7: Microsoft.AspNetCore.Routing.RouteNameMetadata
Endpoint Metadata 8: Microsoft.AspNetCore.Mvc.Filters.PageHandlerPageFilter
Endpoint Metadata 9: Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
Endpoint Metadata 10: Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
Endpoint Metadata 11: Microsoft.AspNetCore.Mvc.Filters.PageSaveTempDataPropertyFilterFactory
Endpoint Metadata 12: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandleOptionsRequestsPageFilter
Endpoint Metadata 13: Microsoft.AspNetCore.Mvc.AutoValidateAntiforgeryTokenAttribute
Microsoft.AspNetCore.Routing.EndpointMiddleware:信息:执行端点'/Account/Login'
分析选项后,我了解到此规则是通过两个 PostConfigure 约定规则添加的
如何为约定编写操作以接收 6 个额外的所需属性? 如何编写PostConfigure
操作?
我已经下载了有关约定https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/razor-pages/razor-pages-conventions/samples/6.x/SampleApp的 MS 示例,但我看不到任何回答有关公约行动的实际实际问题。 此外,MS 将约定 class 设为私有,没有人可以打印或分析动作,动作写成 lambda 表达式,也不清楚。 我已经更改了可行项目的代码,并且我的项目意外丢失了 6 个路由属性以及PostConfigure
约定规则中的这两个操作。 我不明白如何重现这两个动作,如何添加 6 个路由属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.