问题标签 [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.

0 投票
2 回答
2587 浏览

authentication - IdentityServer4 分别对每个客户端进行身份验证

我使用两个不同的客户端。IdentityServer4 提供 API 保护和登录表单。我可以配置客户端以避免单点登录。我的意思是,即使我登录了第一个客户端,我也需要登录第二个客户端。

我的 ID4 配置:

所有客户端都有相同的注册码(可能是个问题):

任何帮助都会很有用。

0 投票
1 回答
238 浏览

reactjs - React+Redux 热模块替换因“_pendingForceUpdate”未定义而崩溃

我有一个以 asp.net 核心作为后端的 react/redux。热模块替换正在工作,但不幸的是,在某些时候对反应组件的任何更改都会卸载页面并在控制台中崩溃:

该项目是从 ASP.NET Core+React+Redux 应用程序的 Visual Studio 模板创建的。

我还注意到,它没有附加到服务器端渲染,早些时候,如果出现问题,VS 在导致问题的行上中断,没有.NET 异常只是以纯文本形式返回给浏览器。

老实说,我什至不知道要开始对此设置进行故障排除,有什么提示吗?

0 投票
1 回答
763 浏览

asp.net-core - 在 ASP.NET Core 2.0 和 Visual Studio 2017 中发布 dotnet 期间的 Aurelia 和 webpack

ASP.NET Core 2.0 项目引入了 Aurelia,使用

我想在发布解决方案时创建以下工件

我可以通过手动运行来实现

但是我想在发布时启动 webpack 构建:

我的最终目标是让 VSTS CI/CD 进程使用 MSBuild 自动捆绑上述要求的 SPA 文件。

请注意,在开发过程中,我已经通过热模块更换

这按预期工作。但现在我需要在发布期间实现相同的目标。

作为快速修复,我添加了一个构建后事件

如何获得此处解释的自定义 MSBuild RunWebpack 目标?

0 投票
0 回答
647 浏览

angular - 带有 ASP.NET Core 的 Angular 6,内部 CMD 无法正常工作

您好,我有Angular 6项目和ASP.NET Core 2.0。后端。在 Visual Studio 中工作。 没有服务器端渲染,只有 SPA。

当我运行我的项目(F5)时,ng serve.Net 自动调用命令,代码如下。

生成新的命令行窗口,但样式(行重写、文本进度条……)似乎不起作用。

文本停止渲染,但 Angular工作,我看不到任何输出。 VS创建的奇怪CMD

正常行为:在 CMD 中调用 ng serve

良好的 CMD 行为

重要的:

两种解决方案都有效,没有区别,但我无法调试我的错误

有没有办法解决这个问题?让 VS CMD 像我的普通 CMD 一样做?

解决方案不需要与 Angular 相关。

谢谢你的时间。

卢博斯

0 投票
0 回答
279 浏览

c# - 如何将 Asp.net core SPA(单页应用程序)和 Asp.net core Web Application 合并到一个单独的项目中

我在解决方案文件夹中有两个独立的项目:项目 A.) SPA(基于 Asp.net core 2.0)。项目 B.) Asp.net 核心 Web 应用程序。

我希望它们合并到一个项目中。我试图将“项目 A”放入新创建的项目(Asp.net 核心 Web 应用程序)中的区域部分,但这不起作用。解决此问题的方法是什么。抱歉有任何语法错误。

0 投票
1 回答
501 浏览

signalr-hub - AspNetCore 上的 SignalR - 如何在运行时添加/修改路由

我想在运行时创建新路线。有没有办法MapHubs在运行时添加?

谢谢

0 投票
1 回答
2844 浏览

vue.js - 使用 ASP.NET Core 2 的服务器端渲染 Vue

我试图了解使用 aspnet 核心时使用 vuejs 进行服务器端渲染的用法和限制。

我使用这个用于 aspnet 核心和 vuejs 的入门工具包来设置一个简单的 vue 站点,该站点基于此处的代码运行:https ://github.com/selaromdotnet/aspnet-vue-ssr-test/tree/master

然后我修改了项目以更新 aspnet-prerendering 并添加了 vue-server-renderer,编译了一个大杂烩来拼凑这个更新:https ://github.com/selaromdotnet/aspnet-vue-ssr-test/tree/ ssr

如果我运行这个项目,该站点似乎可以正常加载,并且如果我关闭浏览器中的 javascript,我可以看到服务器端渲染似乎已执行并填充了 html 结果:

在此处输入图像描述

然而,由于 JavaScript 被禁用,内容并没有被移动到 dom 中,因为它看起来正在尝试......

我对服务器端渲染的理解是,它将完全填充 html 并向用户提供完整的页面,这样即使 JS 被禁用,他们至少也能够看到该页面(特别是用于 SEO 目的)。我不正确吗?

现在我相信现代搜索引擎会执行这样的简单脚本来获取内容,但是如果禁用 js,我仍然不希望呈现空白页面......

这是服务器端渲染的限制,还是特别是带有 vue 和/或 aspnet 核心的 ssr?

还是我只是在某处错过了一步?

编辑:更多信息

我查看了源代码,我认为这是在此处预呈现该部分的方法:https ://github.com/aspnet/JavaScriptServices/blob/dev/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs

线

result.Html 的值为空。但是,当我手动编辑此值以放置测试值时,它也不会呈现到输出 html,并且 app div 标签仍然为空...

如果我在使用预期输出填充 result.Html 值时做错了什么,那是一回事,我会很感激这样做的一些帮助,特别是因为似乎找到了输出 html,因为它在脚本中立即跟随...

但是,即使我要填充它,它似乎也被跳过了,正如我手动更改值所证明的那样。这是代码中的错误还是我做错了什么,或者两者兼而有之?

0 投票
3 回答
6075 浏览

angular - ASP.NET Core 2.1 Angular 6.0 SPA 模板 - 用于索引而不是静态页面的剃须刀页面 (cshtml)

我正在尝试将我的ASP.NET Core 2.0 Angular 5应用程序与webpacksetup 迁移到ASP.NET Core 2.1 Angular 6with Angular-Cli

简短的问题:

如何从cshtmlwith强制解析 razor pages 指令Microsoft.AspNetCore.SpaServices.Extensions

我不想使用index.htmlfrom Angular.json,但是index.cshtml.

详细描述:

我从Angular 模板开始了一个新的 ASP.NET Core 项目。有很多东西可以神奇地起作用。

  1. 文件夹内有一个index.html文件,该文件ClientApp/src在应用程序启动时自动提供。
  2. 当应用程序运行时,在标签</body>之前index.html(从第一点开始)插入几个脚本:、、、inline.bundle.js和标签之前。polyfills.bundle.jsvendor.bundle.jsmain.bundle.jsstyles.bundle.css</head>

我不确定是谁插入了这些脚本,但我想将它们插入 Razor 页面 ( cshtml)。

我尝试使用旧项目中的代码:

并将索引选项Angular.json指向此index.cshtml

问题是 ASP.NET Core 不处理内容(所有 @ 标记),但它输出直接内容:

但应该是:

我想将一些变量(来自 appsettings.json)打印到最后的 html 页面。由于我已经在使用 ASP.NET Core,因此 Razor 页面似乎是不错的解决方案。

我也尝试:
添加新的 RazorPage,处理 C# 内容(@指令),但没有人插入 Angular 脚本。

对 AndyCunningham 的回应:

ng build --prod写这个文件:

index.html. 如何将此写入剃须刀页面。

0 投票
0 回答
156 浏览

asp.net-core - 谁在 ASP.NET Core Angular 模板项目中插入 Angular 脚本

我创建了一个新的ASP.NET Core 2.1 Angular项目。

  1. 有趣的是,里面有一个index.html文件ClientApp/src作为默认页面托管。我想知道,index.html默认情况下会触发哪些代码?

在我来自通用模板的旧应用程序中,使用了控制器和视图,这看起来比index.html从客户端代码提供服务更自然。

  1. 运行应用程序时,某些代码会在文件末尾神奇地插入 Angular 脚本(inline.bundle.jspolyfills.bundle.jsvendor.bundle.js和) ?有人可以分享一些代码吗?main.bundle.jsstyles.bundle.cssindex.html

我想了解这一点,因为我想提供内容RazorPage而不是 static index.html,但为了尝试任何事情,我需要更多地了解这个模板背后的魔法。

0 投票
0 回答
286 浏览

c# - 为什么 SpaServices 似乎总是添加一个随机的不同端口?

自 Core 2.1 更新以来,出现了新的 Spa 模板。我已经试用了 Angular,并将其更新为 Angular 6。现在一切正常,除了每次进行更改时我都需要手动构建。这很奇怪,因为它以前可以很好地与 Angular 5 配合使用。我对此进行了一些调查,并在日志中发现了这一点:

Microsoft.AspNetCore.SpaServices:Information: > test@0.0.0 start C:[redacted]\Projects\test\test\ClientApp ng serve "--port" "62206"

** Angular Live Development Server 正在监听 localhost:62206,在http://localhost:62206/上打开浏览器**

如您所见,它将“--port”“62206”添加到ng serve. 当我稍后访问http://localhost:62206/时,我可以看到我的网站并且实时更新似乎在那里工作!

我尝试重新启动我的服务器几次,我注意到每次它使用不同的端口。它几乎看起来是随机的。

更让我气愤的是,我的应用程序实际上是在 66230 端口上运行的!为什么 SpaServices 不只使用 IIS 端口?有没有办法手动更改它?因为如果我必须等待我的服务器启动,滚动输出以找到它选择的端口,在我的地址中输入它以便我可以调试,我会浪费很多时间和精力