c# - 如何检查 SSO 导致缓存相关问题的原因?
问题描述
当我使用 SSO 登录时,更改页面上的某些内容,提交请求,更改不会在第一次尝试时应用。如果我重做它,它会起作用。
如果我使用 SSO 登录,我会在站点 B 上键入我的凭据并在站点 A 上登录。此更改仅在第一次尝试时才应用于站点 A。
如果我从站点 A 注销,再次使用 SSO 登录(不需要重新输入我的凭据,因为我已经在站点 B 上登录),一切正常。
我还以为是缓存问题。我试过像这样禁用缓存:
在 aspx.cs 中添加了这个
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
在 aspx 中:
<%@ OutputCache NoStore="True" Duration="1" VaryByParam='*' Location="None" %>
在 .js 文件中:
$.ajax({
cache: false
//rest of ajax that gets data from back-end
});
我添加了一些日志记录,出现问题时是因为从前到后给出的数据不正确。这是它的外观:
<asp:HiddenField ID="HdnSelectedMenuIds" runat="server" />
在按钮保存时,我在 aspx 中有这个:
<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="inputButton"
OnClientClick="javascript:return GetNodeValue();" OnClick="btnSave_Click" />
js文件中有对应的函数。
function GetNodeValue() {
var checkedMenuIds = [];
var treeView = $("#treeviewTab").data("kendoTreeView");
var extTreeView = $("#treeviewExternal").data("kendoTreeView");
GetNodeId(treeView.dataSource.view(), checkedMenuIds);
GetNodeId(extTreeView.dataSource.view(), checkedMenuIds);
$(myControls.HdnSelectedMenuIds).val(checkedMenuIds);
}
当出现问题时,HdnSelectedMenuIds 的值错误。
我不知道会发生什么。我应该尝试什么?
解决方案
推荐阅读
- objective-c - 从 NSData 获取 Int
- react-native - 无需重置应用即可动态更改颜色和图标
- python - Python3.8 JSON 模块在 Ubuntu 20.04 LTS 上不起作用
- python - 在 Colab 中导入 Keras
- dataframe - 使用其他列值作为参考替换行中的某些值
- node.js - 功能认证中间件节点
- c# - 数据模型依赖于另一个数据模型的属性时的数据绑定
- elasticsearch - elasticsearch中关键字类型为文本时如何使用term查询
- android - 如何动态更改依赖项?
- .net - Grafana PromQL 无法读取未定义的属性“结果”