【发布时间】:2021-01-18 04:42:23
【问题描述】:
我们有一个 .NET Framework 4.7 Azure 托管的 Web 应用程序,该应用程序现在已经顺利运行了很长时间。我们已经告诉所有用户,他们应该使用 Chrome,据我们所知,大多数用户都这样做。
几周前,一位用户报告了一个奇怪的服务器端错误。屏幕上的消息不是很有帮助,所以我们关闭了自定义错误。这似乎有助于我们获得实际的错误信息:
分块的 cookie 不完整。只找到了 0 个预期的块,总共 0 个字符。可能已超出客户端大小限制。
我们以前从未见过该错误,但快速搜索提供了解决方案。我们要求用户清除 cookie 并重试。那行得通。几天后,又有两个用户报告了完全相同的错误。然后更多。然后更多。最初的修复适用于某些人,但不适用于其他人。最终,我们想出了以下步骤:
- 退出我们所有的应用程序。关闭所有 Chrome 标签页和窗口。打开一个新的 Chrome 窗口。
- 清除浏览器数据
一种。点击右上角的三个点
湾。选择“更多工具 > 清除浏览器数据”
C。可能最好选择“所有时间”,但用户可能会先尝试较短的时间范围 - 将 Chrome 重置为默认设置
一种。使用说明:https://support.google.com/chrome/answer/3296214?hl=en - 关闭所有 Chrome 标签页和窗口,然后重试。
如果还是不行,那么请按照以下步骤操作……
- 退出我们所有的应用程序。关闭所有 Chrome 标签页和窗口。打开一个新的 Chrome 窗口。
- 在网址栏中,复制并粘贴此地址:chrome://flags
- 在搜索栏中输入:samesite
- 您的窗口现在应该如下所示:
- 对于所有三个选项,将下拉菜单从默认更改为启用
- 点击右下角的“RELAUNCH”按钮。
- Chrome 重新启动后,像往常一样返回应用程序。
一种。您应该现在可以访问了。
湾。但是,我们还没有完成! - 重复上述 1-5,这一次将所有三个选项重置为默认值。
一种。然后再次点击“RELAUNCH”按钮。
如果还是不行,那么请按照以下步骤操作……
- 尝试通过 Microsoft Edge 访问我们的应用程序
(我们不再要求用户在隐身窗口中尝试,因为他们的许多办公室都限制了它的使用。)
与此同时,我们正在疯狂地尝试找出错误的实际原因。令人惊讶的是,关于这一点的讨论并不多。这似乎与 Chrome 如何处理同站点 cookie 的最新更新有关,但主要问题是……我们无法重现它。它似乎是随机弹出的。并且一些用户报告错误会在他们不做任何事情的情况下消失。
然后,当然……我们只有一个用户,上面的步骤都不起作用。甚至不使用边缘。到目前为止,上述步骤对所有人都有效,但他除外。
有没有人遇到过这样的事情?有任何想法吗?有什么建议吗?
【问题讨论】:
-
嗨,Casey,我对一些用户有同样的问题,但我没有重现它。感谢您的解决方案。
-
您好,感谢您的帖子,凯西。我现在在我的网络应用程序上处理同样的问题。您是否有机会就错误的实际原因得出结论?
-
@Daniel,我刚刚发布了一个答案。在我们最终解决之前,我们为此苦苦挣扎了很长时间。我希望这会有所帮助。
标签: c# asp.net .net google-chrome cookies