问题标签 [asp-net-core-spa-services]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
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;
我不太明白为什么这种行为发生了变化。有任何想法吗?
model-view-controller - knockout.js viewModel 不显示从控制器检索到的 json
我使用 $.getJson 将 json 对象检索到我的视图模型和应用绑定中。它不会显示 foreach 中的数据绑定。[代码] - index.cshtml
我在调试时检查了一个填充对象。我也尝试过使用 Json(machineList) 但这会出现一个对话框来下载 json 然后终止。
c# - AspNetCore React 只能在 dev 模式下查找 spa 文件
我的 AspNetCore/React 项目在开发环境中运行良好,但只要我在任何其他环境中运行它,我就会得到System.InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
startup.cs 配置方法的结尾是这样的
但由于这与应用程序中的相应代码相同,因此dotnet new react
我想其他的东西会扰乱它。
网络服务器确实启动了,我可以访问 Swagger 页面。只是找不到合适的应用程序。破解上面的代码以便spa.UseReactDevelopmentServer(npmScript: "start");
运行会导致在所有环境中找到应用程序(加载环境特定的配置),但由 React 开发服务器提供服务。
我会说这条线
是什么决定了/index.html
和朋友的发现,但有些东西阻止了他们被发现。
我还应该看什么?
我已经看到了这个SPA 默认页面中间件无法返回默认页面,但我认为这不是我面临的问题。
对该项目的搜索显示只有一个文件index.html
,它位于ClientApp/public
. Configure 方法是这样开始的
node.js - 无法使用 docker 部署新的 aspnetcore .net5 react 项目
我对 docker 很陌生,并且花了很多时间试图解决这个问题。我无法将我的 aspnetcore react docker 映像部署到 docker。我已经成功部署了许多 aspnetcore 映像,但是当涉及到 SPA 时,我似乎无法弄清楚。我开始了一个新的 .net5 react 项目来测试 docker 文件。我为构建创建了一个 docker-compose 文件。每次我收到以下错误。任何帮助将不胜感激。
该项目称为 dockerSPA - 我专门为测试目的创建了它。请让我知道我是否可以提供其他信息来解决此问题
Dockerfile
package.json 脚本
码头工人-compose.yml
使用 'docker-compose up' 后出现完整的 docker 错误
编辑
通过遵循微软的旧 .net3 建议并进行一些小更新,我终于设法通过安装 nodejs 来部署 react spa 客户端。现在我的 nodejs 服务立即退出,代码为 0;
码头工人文件
错误:
有些东西告诉我我需要设置 redis 来处理这些问题,但我可能是错的。
asp.net - 使用没有 SPA 代理的 ASP.Net Core React.js 模板
在 VS2019 Preview 中,您有多个模板。我对以下两个感兴趣:
我和两者都玩了一下,我观察到了不同。在ASP.NET Core with React.js
模板中,启动了一个 SPA 代理服务器,而在ASP.NET Core with React.js and Redux
没有它的情况下简单地工作(第二个模板在 TS 中,而不是 JS 中)。
我的意思是simply works without that
。我查看了这两个.csproj
文件,发现了一个差异(我只会附上值得注意的差异):
第一个模板:
第二个模板:
请注意,在第二个模板Microsoft.AspNetCore.SpaServices.Extensions
中使用而不是Microsoft.AspNetCore.SpaProxy
.
文件中也存在一些差异Startup.cs
。第二个模板使用了一些额外的中间件
我还观察到,在 JSClientApp
中有一个setupProxy.js
文件,而在 TSClientApp
中没有。该npm start
命令也设置为"start": "rimraf ./build && react-scripts start"
,在 TS 文件中它只是react-scripts start
.
我试图进行必要的调整来运行 TS 应用程序这样的 JS 应用程序,但我认为我遇到了一个问题,因此我遗漏了一些东西:
System.Net.Http.HttpRequestException:无法将请求代理到 http://localhost:61105/,因为对代理目标的请求失败。检查代理目标服务器是否正在运行并接受对 http://localhost:61105/ 的请求。
虽然这个错误确实有意义,但我不知道 TS 模板在哪里以及如何启动这样的代理服务器(如果有的话)。
我的问题是:我可以在JS模板中获取TS模板的行为吗?如果是,如何?如果不是,为什么?
javascript - 当用户在 Blazor Webassembly 身份验证和授权中具有多个角色时出现问题?
我有一个 Blazor Webassembly 解决方案,当我使用用户(具有多个角色)登录时,登录操作显示错误:
按照我的自定义身份验证提供程序:
启动.cs
问题似乎是一个身份存在多个角色。
如果身份只有一个角色,则不会出现问题。
asp.net-core - SPA 默认页面中间件无法返回默认页面 - asp net core 5 and webpack dev server
我很难SpaProxyingExtensions.UseProxyToSpaDevelopmentServer
使用webpack-dev-server
,但找不到合适的配置。
我在控制台中遇到的错误
System.InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
打包过程并不复杂,webpack 会将内容转储到wwwroot/dist
文件夹中。
我在这里想念什么?
感谢帮助。
包.json
webpack.config.js
csproj
启动设置.json
启动.cs
c# - ASP.Net Core React.js 模板 Azure AD 身份验证和授权
我已经Startup.cs
按照这些文档设置了我的。
问题是我的 SPA 位于,https://localhost:5000
我的 API 位于https://localhost:5000/api
. 当我访问 SPA URL 时出现一些错误,但如果我转到 API URL,则会被重定向到https://login.microsoftonline.com/...rest
可以执行登录的位置。在那之后,我得到了一个 cookie 集,然后我的 SPA 应用程序就可以工作了。
我的问题如下,如何随意访问登录/注销功能。从这些文档中,我看到有一个可以访问的 Account 控制器。但是我尝试通过“猜测” URL 来导航到它,但我没有设法这样做。
我看到可以通过定义一些 Razor 页面来访问控制器的功能,例如:
我如何从 React 中做到这一点?我不确定我是否遵循了适当的文档。
.net - 带有react spa的.net核心为获取请求提供405,而不是回退到spa,因为发布路线
我正在开发一个带有 spa 前端的 .net 核心 oAuth 控制器。
上有邮递路线[HttpPost("~/connect/logout"), ValidateAntiForgeryToken]
。我希望这个 url 的 get 路由回退到 spa 应用程序。当前,.net 给出了不允许的 405 方法,如果同一路由有 post 方法。
如何制定回退到水疗服务的获取路线?
我试过添加endpoints.MapFallbackToFile("/index.html");
,但这给出了 404。
启动.cs