Blazor服务器端应用程序引发错误:SPA默认页面中间件无法返回默认页面“ /index.html”

时间:2018-11-15 20:55:09

标签: asp.net-core server-side asp.net-core-identity blazor

我找到了实现身份here的客户端Blazor应用。

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

  

“引发的异常:System.Private.CoreLib.dll中的'System.InvalidOperationException'(” SPA的默认页面中间件无法返回默认页面'/index.html',因为未找到它,并且未处理其他任何中间件请求。”)   在CsrfTokenCookieMiddleware第28行上。

我真的不知道可能是什么问题。我猜是因为使用服务器端Blazor时,更多逻辑移交给了Server项目而不是Client项目,并且服务器不包含wwwroot,所以发生了错误。因此,我创建了从Server项目的wwwroot到Client项目的wwwroot的符号链接。但这也不起作用。

有人可以帮助我解决这个问题吗?我完全被困住了。创建者也不知道是什么问题。

1 个答案:

答案 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线程进行通信。这是服务器端渲染和客户端之间的主要区别渲染。