asp.net-mvc - AccessToken 不得长于 4K
问题描述
我使用过 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>
解决方案
我明白了原因。它的索赔问题。我的真实项目有很多索赔,因为它们的大小我的请求超过了 4k 限制。我已经使用了压缩,并且对我来说一切正常。谢谢
推荐阅读
- jenkins-pipeline - 在 Jenkins 中将 DSL 作业转换为管道
- laravel - 带有两个参数的 URL
- python - Python“graphics.py”库工作,但没有方法 .yUp()
- r - 根据附加条件构建变量滞后
- java - 使用 iText 7 和 Java 生成 pdf 不能换行长英文单词
- javascript - 反应本机应用程序构建成功,但没有显示
- git - Git:将本地分支合并到远程分支A和B,而无需将代码从A插入B / B插入A
- python - AttributeError:模块“tensorflow.python.framework.tensor_shape”没有属性“标量”
- java - 使用java的AWS lambda(无服务器)文件上传
- list - Prolog:集合和操作