【发布时间】:2019-08-18 08:48:21
【问题描述】:
我们有一个 asp 的组合。 net core odata 作为后端,Angular 6 作为前端。两者都是单独开发的,在每次发布期间,Angular 文件都被复制到 wwwroot 文件夹中。我们将这两个方法添加到 Startup.Configure 以允许读取静态文件:
app.UseDefaultFiles();
app.UseStaticFiles();
index.html 受到打击,但是当 Angular 在 app-root 元素中引用它的 js 文件(例如 runtime.js 或 polyfils.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)。有没有人经历过发生了什么,出了什么问题?
【问题讨论】:
标签: c# asp.net-core odata wwwroot