我找到了实现身份here的客户端Blazor应用。
它可以正常工作,但是当我将其转到服务器端Blazor时会抛出错误:
“引发的异常:System.Private.CoreLib.dll中的'System.InvalidOperationException'(” SPA的默认页面中间件无法返回默认页面'/index.html',因为未找到它,并且未处理其他任何中间件请求。”) 在CsrfTokenCookieMiddleware第28行上。
我真的不知道可能是什么问题。我猜是因为使用服务器端Blazor时,更多逻辑移交给了Server项目而不是Client项目,并且服务器不包含wwwroot,所以发生了错误。因此,我创建了从Server项目的wwwroot到Client项目的wwwroot的符号链接。但这也不起作用。
有人可以帮助我解决这个问题吗?我完全被困住了。创建者也不知道是什么问题。
答案 0 :(得分:-2)
在使用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线程进行通信。这是服务器端渲染和客户端之间的主要区别渲染。