【发布时间】:2016-09-08 17:09:07
【问题描述】:
我正试图在计时器到时将用户重定向到不同的页面。我的代码运行了,但我在这一行得到了这个错误
Page.Response.Redirect(myUri, false);
我的代码是这样的
void dataSyncCheck_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
Page.Response.Redirect(myUri, false);
}
【问题讨论】:
-
为 Timer 启动了一个新线程,并且无法访问定义
Page.Response实例的主体请求线程。 -
如果你想在几秒钟后自动重定向浏览器,你需要在 JavaScript 中而不是在服务器上!
-
定时器存在的目的是什么?
-
客户端重定向将是一个更好的解决方案。您可以在 JavaScript 中以设定的时间间隔对服务器进行 XHR(又名 AJAX)调用,在该服务器上将检查服务器状态。调用的结果(例如布尔值)将用于重定向或不重定向。
-
@CoolBots 如果我使用像这里看到的 ajax 方式stackoverflow.com/a/23781882/5194952 这是否意味着我的方法必须是公共静态的?这严重限制了我在该方法中可以做的事情,因为它是一个静态方法,我认为我需要它是非静态的。