问题描述
我不能让果园 cms 用 swagger 运行,因为似乎果园不遵循 swagger 路线政策。
我收到以下异常:
The request matched multiple endpoints. Matches: \r\n\r\norchardcore.Contents.Controllers.AdminController.List (orchardcore.Contents)\r\norchardcore.Email.Controllers.AdminController.Index (orchardcore.Email)\r\norchardcore.Apis.GraphQL.Controllers.AdminController.Index (orchardcore.Apis.GraphQL)\r\norchardcore.Sitemaps.Controllers.AdminController.Edit (orchardcore.Sitemaps)\r\norchardcore.Contents.Controllers.AdminController.Edit
它来自:
Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ReportAmbiguity(CandidateState[] candidateState)\r\n at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ProcessFinalCandidates(HttpContext httpContext,CandidateState[] candidateState)\r\n at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.Select(HttpContext httpContext,CandidateState[] candidateState)\r\n at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.SelectAsync(HttpContext httpContext,CandidateSet candidateSet)\r\n
和完整的堆栈跟踪:
{"type":"https://tools.ietf.org/html/rfc7231#section-6.6.1","title":"The request matched multiple endpoints. Matches: \r\n\r\norchardcore.Contents.Controllers.AdminController.List (orchardcore.Contents)\r\norchardcore.Email.Controllers.AdminController.Index (orchardcore.Email)\r\norchardcore.Apis.GraphQL.Controllers.AdminController.Index (orchardcore.Apis.GraphQL)\r\norchardcore.Sitemaps.Controllers.AdminController.Edit (orchardcore.Sitemaps)\r\norchardcore.Contents.Controllers.AdminController.Edit (orchardcore.Contents)\r\norchardcore.Media.Controllers.AdminController.GetMediaItem (orchardcore.Media)\r\norchardcore.Taxonomies.Controllers.AdminController.Edit (orchardcore.Taxonomies)\r\norchardcore.Taxonomies.Controllers.AdminController.Create (orchardcore.Taxonomies)\r\norchardcore.ContentTypes.Controllers.AdminController.EditField (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.EditTypePart (orchardcore.ContentTypes)\r\norchardcore.Users.Controllers.AdminController.EditPassword (orchardcore.Users)\r\norchardcore.Users.Controllers.AdminController.Edit (orchardcore.Users)\r\norchardcore.Users.Controllers.AdminController.Create (orchardcore.Users)\r\norchardcore.Contents.Controllers.AdminController.display (orchardcore.Contents)\r\norchardcore.Contents.Controllers.AdminController.Create (orchardcore.Contents)\r\norchardcore.ContentTypes.Controllers.AdminController.AddReusablePartTo (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.List (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.Create (orchardcore.ContentTypes)\r\norchardcore.Tenants.Controllers.AdminController.Index (orchardcore.Tenants)\r\norchardcore.ContentTypes.Controllers.AdminController.Edit (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.AddPartsTo (orchardcore.ContentTypes)\r\norchardcore.Tenants.Controllers.AdminController.Create (orchardcore.Tenants)\r\norchardcore.ContentTypes.Controllers.AdminController.ListParts (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.CreatePart (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.EditPart (orchardcore.ContentTypes)\r\norchardcore.ContentTypes.Controllers.AdminController.AddFieldTo (orchardcore.ContentTypes)\r\norchardcore.Tenants.Controllers.AdminController.Edit (orchardcore.Tenants)\r\norchardcore.Sitemaps.Controllers.AdminController.display (orchardcore.Sitemaps)\r\norchardcore.Admin.Controllers.AdminController.Index (orchardcore.Admin)\r\norchardcore.Themes.Controllers.AdminController.Index (orchardcore.Themes)\r\norchardcore.Queries.Controllers.AdminController.Create (orchardcore.Queries)\r\norchardcore.Media.Controllers.AdminController.GetMediaItems (orchardcore.Media)\r\norchardcore.ContentTypes.Controllers.AdminController.Index (orchardcore.ContentTypes)\r\norchardcore.Lucene.Controllers.AdminController.Edit (orchardcore.Lucene)\r\norchardcore.Queries.Controllers.AdminController.Edit (orchardcore.Queries)\r\norchardcore.Queries.Controllers.AdminController.Index (orchardcore.Queries)\r\norchardcore.Queries.sql.Controllers.AdminController.Query (orchardcore.Queries)\r\norchardcore.Features.Controllers.AdminController.Features (orchardcore.Features)\r\norchardcore.Flows.Controllers.AdminController.BuildEditor (orchardcore.Flows)\r\norchardcore.Layers.Controllers.AdminController.Index (orchardcore.Layers)\r\norchardcore.Recipes.Controllers.AdminController.Index (orchardcore.Recipes)\r\norchardcore.Layers.Controllers.AdminController.Create (orchardcore.Layers)\r\norchardcore.Lucene.Controllers.AdminController.Index (orchardcore.Lucene)\r\norchardcore.Widgets.Controllers.AdminController.BuildEditor (orchardcore.Widgets)\r\norchardcore.Users.Controllers.AdminController.Index (orchardcore.Users)\r\norchardcore.Layers.Controllers.AdminController.Edit (orchardcore.Layers)\r\norchardcore.Menu.Controllers.AdminController.Create (orchardcore.Menu)\r\norchardcore.Media.Controllers.AdminController.Index (orchardcore.Media)\r\norchardcore.Media.Controllers.AdminController.MediaApplication (orchardcore.Media)\r\norchardcore.Media.Controllers.AdminController.GetFolders (orchardcore.Media)\r\norchardcore.Settings.Controllers.AdminController.Index (orchardcore.Settings)\r\norchardcore.Roles.Controllers.AdminController.Index (orchardcore.Roles)\r\norchardcore.Media.Controllers.AdminController.CreateFileResult (orchardcore.Media)\r\norchardcore.Roles.Controllers.AdminController.Edit (orchardcore.Roles)\r\norchardcore.Sitemaps.Controllers.AdminController.List (orchardcore.Sitemaps)\r\norchardcore.Roles.Controllers.AdminController.Create (orchardcore.Roles)\r\norchardcore.Sitemaps.Controllers.AdminController.Create (orchardcore.Sitemaps)\r\norchardcore.Lucene.Controllers.AdminController.Query (orchardcore.Lucene)\r\norchardcore.Menu.Controllers.AdminController.Edit (orchardcore.Menu)","status":500,"detail":" at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ReportAmbiguity(CandidateState[] candidateState)\r\n at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ProcessFinalCandidates(HttpContext httpContext,CandidateSet candidateSet)\r\n at Microsoft.AspNetCore.Routing.Matching.DfaMatcher.SelectEndpointWithPoliciesAsync(HttpContext httpContext,IEndpointSelectorPolicy[] policies,CandidateSet candidateSet)\r\n at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.<Invoke>g__AwaitMatch|8_1(EndpointRoutingMiddleware middleware,HttpContext httpContext,Task matchTask)\r\n at orchardcore.Diagnostics.DiagnosticsstartupFilter.<>c__displayClass3_0.<<Configure>b__1>d.MoveNext() in C:\\projects\\orchardcore\\src\\orchardcore.Modules\\orchardcore.Diagnostics\\DiagnosticsstartupFilter.cs:line 36\r\n--- End of stack trace from prevIoUs location where exception was thrown ---\r\n at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)\r\n at orchardcore.ContentPreview.PreviewStartupFilter.<>c.<<Configure>b__1_1>d.MoveNext() in C:\\projects\\orchardcore\\src\\orchardcore.Modules\\orchardcore.ContentPreview\\PreviewStartupFilter.cs:line 23\r\n--- End of stack trace from prevIoUs location where exception was thrown ---\r\n at orchardcore.Modules.ModularTenantRouterMiddleware.Invoke(HttpContext httpContext) in C:\\projects\\orchardcore\\src\\orchardcore\\orchardcore\\Modules\\ModularTenantRouterMiddleware.cs:line 63\r\n at orchardcore.Environment.Shell.Scope.ShellScope.UsingAsync(Func`2 execute) in C:\\projects\\orchardcore\\src\\orchardcore\\orchardcore.Abstractions\\Shell\\Scope\\ShellScope.cs:line 206\r\n at orchardcore.Modules.ModularTenantContainerMiddleware.Invoke(HttpContext httpContext) in C:\\projects\\orchardcore\\src\\orchardcore\\orchardcore\\Modules\\ModularTenantContainerMiddleware.cs:line 59\r\n at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)\r\n at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext,ISwaggerProvider swaggerProvider)\r\n at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)\r\n at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware,HttpContext context,Task task)","traceId":"00-9a337038340ba445b4af997d9b91f69a-3f2d214c2e86334c-00"}
我想知道是否可以覆盖 DefaultEndpointSelector 类,但它是密封的。有没有办法让它在不修改cms控制器的情况下运行?也许有人对此有一些经验。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)