我们有一个asp的组合。net core odata 作为后端,Angular 6 作为前端。两者都是单独开发的,在每个发布期间,Angular 文件都被复制到wwwroot文件夹。我们将这两个方法添加到 Startup.Configure 以允许读取静态文件:
app.UseDefaultFiles();
app.UseStaticFiles();
index.html受到打击,但是当 Angular 在app-root元素(例如runtime.js或polyfils.js)中引用它的 js 文件时,我们会收到 500 错误:
处理请求时发生未处理的异常。AmbiguousActionException:匹配多个操作。以下操作匹配路由数据并满足所有约束: SomeNamespace.API.Controllers.ProductRequestController.GetProductRequest (SomeNamespace.API) SomeNamespace.API.Controllers.UserProfileController.GetUserProfile (SomeNamespace.API) SomeNamespace.API.Controllers.UserRoleCategoryController.GetUserRoleCategory ( SomeNamespace.API) SomeNamespace.API.Controllers.WorkflowStepController.GetWorkflowStep (SomeNamespace.API) Microsoft.AspNetCore.Mvc.Internal.ActionSelector.SelectBestCandidate(RouteContext context, IReadOnlyList 候选人)
似乎甚至 index.html 也被其他 asp 击中。net core 在提供其他文件时存在问题。我们还在 head 中设置了正确的(我们认为的)基本路径:
<base href="~/">
看起来不是简单地提供文件应用程序实际上是在尝试找到合适的控制器(在这种情况下为 odata)。有没有人经历过发生了什么,出了什么问题?