我使用过 Azure SignalR 服务。它适用于测试项目,但是当我嵌入到我的真实项目中时。它抛出错误(访问令牌不能超过 4K)。
访问令牌不得超过 4K。413请求实体太大
我们在项目中使用 SignalR,现在我们正在转向 Azure SignalR 服务。我做了一个测试项目,我在其中使用了 Azure SignalR 服务,它在那里工作正常,但我将它嵌入到我的真实项目中,它会引发错误(访问令牌不能超过 4K)。我在 IIS 和 web.config 级别尝试了不同的解决方案,增加了消息的大小,但没有任何效果。我检查了我的 cookie 大小,它小于 1k。无法进行 Azure SignalR 服务连接。为什么它在测试项目中有效。意思是在实际项目的情况下,它包括我页面上存在的页面中的 cookie 和声明。
我得到了这个东西,但它在 Asp.net 中不起作用,因为它的核心示例。
services.AddSignalR()
.AddAzureSignalR(options =>
{
options.ClaimsProvider = context => context.User.Claims;
});
我在 web.config 中尝试过绑定,但增加消息的大小不起作用,因为它的标题级别的东西。
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding" maxReceivedMessageSize="524288000"/>
<binding name="mexHttpBinding" maxReceivedMessageSize="524288000" />
</basicHttpBinding>
</bindings>