我正在本地开发Blazor服务器应用程序,突然它停止加载。错误消息是";服务器以500(("的状态进行响应;。查看日志,详细的错误是";Microsoft.Azure.SignalR.ServiceConnection:关键:服务返回握手错误:达到最大消息计数限制:20000"。
该应用程序已从Visual Studio部署到Azure一次。在发布期间,我添加了一个signalR服务作为依赖项,Azure创建了一个signalR服务。这项服务是免费的,每天有2万条消息的限制。
我不太明白localhost是如何与远程Azure signalR服务一起工作的。。。为什么我的本地开发在开发过程中依赖Azure服务?我发布到Azure的应用程序正在使用相同的signalR服务,并且运行良好。只有我的本地失败了。
有人能帮我理解吗?我的意思是,在我发布到Azure之前,我甚至没有Azure帐户,当时它是如何工作的?有没有办法消除我对它的本地依赖,这样我就可以在没有这种限制的情况下自由发展。
感谢您的帮助。谢谢
您只需要真正使用Azure SignalR进行缩放-在启动时删除AddAzureSignalR((的调用,或者用预处理器指令包装它,使其仅在Release构建中使用。
#if RELEASE
services.AddAzureSignalR();
#endif
要启用RELEASE标志,您需要为csproj:中的发布配置定义一个RELEASE常量
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>$(DefineConstants)TRACE;RELEASE</DefineConstants>
</PropertyGroup>