这通常是因为 IIS 的配置不支持 Blazor 应用程序中的 SignalR。因此,可能需要手动配置 IIS 来支持 SignalR。
以下是解决此问题的可能步骤:
Configure()
方法中的 app.UseEndpoints()
中配置了 SignalR。app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub(); // 确保配置了此行
endpoints.MapFallbackToPage("/_Host");
});
Install-Package Microsoft.AspNet.SignalR.SystemWeb
注意:这不适用于 Blazor WebAssembly。
这些步骤应该可以解决 Blazor Server Side 中 JSInterop 在 IIS 上无法工作的问题。