首页 > 解决方案 > 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,从而在用户的浏览器上重新加载应用程序。

重现步骤:

  1. 在 Visual Studio 上,创建一个新的“ASP.NET Core With Angular”项目并选择 .NET 5 作为目标框架;
  2. 修改生成的 Angular 应用,将路由 'fetch-data' 更改为 'weatherforecast'。您必须修改以下文件:app.module.ts 和 nav-menu.component.html;
  3. 开始调试,导航到 Fetch-Data,然后按 F5;

我不太明白为什么这种行为发生了变化。有任何想法吗?

标签: angularasp.net-core-webapiangular-routerasp-net-core-spa-services

解决方案


推荐阅读