2

我在这里找到了一个实现 Identity 的客户端 Blazor 应用程序。

它可以正常工作,但是当我将其转到服务器端 Blazor 时,它会引发错误:

"抛出异常:System.Private.CoreLib.dll 中的'System.InvalidOperationException' ("SPA 默认页面中间件无法返回默认页面'/index.html',因为找不到,并且没有其他中间件处理该请求。 ") 在 CsrfTokenCookieMiddleware 第 28 行。

我真的不知道可能是什么问题。我猜这个错误是因为在使用服务器端 Blazor 时,更多的逻辑被交给了服务器项目而不是客户端项目,并且服务器不包含 wwwroot。因此,我创建了一个从服务器项目的 wwwroot 到客户端项目的 wwwroot 的符号链接。但这也没有用。

有人可以帮我解决这个问题吗?我完全被困住了。创作者也不知道问题出在哪里。

4

1 回答 1

-1

当您使用 blazor 进行服务器端渲染时,不使用 blazor.webassembly.js 来引导应用程序,而是使用 blazor.server.js。

在位于 wwwroot 文件中的 index.html 文件中,如下所示,

<script src="_framework/blazor.webassembly.js"></script>

我检查了给定的 GitHub 存储库并找到了上面的脚本标签。如下图所示并尝试,

<script src="_framework/blazor.server.js"></script>

blazor 的服务器端渲染不在 web 程序集中运行,它在 asp.net 核心主机中运行,并通过信号 R 与 UI 线程进行通信。这是服务器端渲染和客户端渲染之间的主要区别西装外套。

于 2018-11-15T21:52:22.283 回答