我有一个使用.NET Framework 4.7.2的ASP.NET应用程序。它有一个模态弹出窗口,让用户输入一些注解,然后保存。用户有时使用显示弹出窗口的按钮,输入由于身份验证过期而在回发时被拒绝的注解。我想在窗口弹出时快速检查身份验证,所以我想我应该尝试一个.ashx页面,我从chatGPT得到了以下代码:
$.ajax({
url: 'yourHandler.ashx',
type: 'GET', // or 'POST'
success: function(response) {
// Do something with the response
console.log(response);
},
error: function(xhr, status, error) {
// Handle any errors
console.error(error);
}
字符串
});
这给了我一个302回到我的默认.aspx。有没有更好的方法来做到这一点?我可以用代码或配置修复302?我想知道我是否需要在某个地方注册ashx。
TIA,我的ASP.NET编程技能有限:-)
1条答案
按热度按时间4nkexdtk1#
好吧,如果你在一个网页上,你不希望会话过期?
只需向现有页面添加一个简单的Web方法,并触发一个JavaScript计时器来调用一些“虚拟”Web方法。
我的意思是,要么让会话过期,要么不过期。所以,你可以让页面保持活动状态,只要你愿意。或者,当用户执行一些需要服务器端代码的操作时,他们将再次收到登录提示。所以,为了避免这个问题,我们保持页面活动状态,不让会话过期。
所以,假设你有jQuery,那么在你的标记中,你可以说触发一个简单的小请求到网页上。只要他们在那个网页上,那么他们的会话就永远不会超时。
所以,比如说这个JavaScript/jQuery -你可以把它放在表单的末尾,这样:
字符串
并为该网页隐藏代码,只需添加一个web方法,如:
(导入系统.Web.服务)
型
因此,现在会话不会超时,因为我们每60秒“触摸”一次网页。