angular - ASP.NET Core 5 Angular 模板 401 刷新
问题描述
我有一个使用 Angular 模板的 ASP.NET Core 应用程序,自从我从 .NET Core 3.1 升级到 5 后,当用户刷新浏览器时,该应用程序开始返回错误 401。
如果路由名称与 API 中的控制器名称匹配,例如路由:localhost/produts 和控制器 ProductsController,则会发生错误。
如果用户从 Angular 应用程序内部导航到 localhost/products,它可以工作,因为它是由 Angular 路由器处理的,但是如果在地址栏中输入 url,或者如果用户在路由上刷新浏览器,那么我会得到 401我相信这是因为 ASP.NET Core 应用程序正在解释路由。
以前发生的情况是 ASP.NET Core 应用程序会从 Angular 应用程序返回 index.html,从而在用户的浏览器上重新加载应用程序。
重现步骤:
- 在 Visual Studio 上,创建一个新的“ASP.NET Core With Angular”项目并选择 .NET 5 作为目标框架;
- 修改生成的 Angular 应用,将路由 'fetch-data' 更改为 'weatherforecast'。您必须修改以下文件:app.module.ts 和 nav-menu.component.html;
- 开始调试,导航到 Fetch-Data,然后按 F5;
我不太明白为什么这种行为发生了变化。有任何想法吗?
解决方案
推荐阅读
- javascript - 如何使用箭头键将立方体平滑移动到threejs中的平面边缘
- jhipster - Jhipster 控制中心未显示应用程序
- javascript - 如何使用 NodeJS 仅将 NeDB 数据库中的某些字段存储到数组中
- json - 如何使用sql查询将json文件中的数据提取到表中
- reactjs - 使用 webpack 将 firebase firestore 添加到 react.js 项目时出现问题
- node.js - 路由路径 Express,NodeJS 的问题
- c# - 带有 Rayib 的 Visual Studio 2019 - 在未知模块错误中发生“System.IO.FileNotFoundException”类型的未处理异常
- javascript - How make side by side div elements?
- swift - Swift mutating function struct pass struct’s variable name in function?
- django - Django - 文件名“”包含路径元素异常,名称不应该包含相对于 MEDIA_ROOT 的路径吗?