使用Watin,如何在请求超时时刷新浏览器

时间:2013-07-06 14:36:52

标签: c# watin

我有这段代码:

var ie = new IE(); 
ie.GoTo("http://www.google.com");

我想要IE自动刷新,结果是:“超时” 如果IE必须加载很长时间但仍然无法访问http://www.google.com,你能告诉我为浏览器设置超时的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以在浏览器中创建一个后台JavaScript进程,将常规心跳发送到服务器。例如,每5或10分钟重新生成一个具有定时到期的新cookie。

所有会话超时的第1个由网站开发者/制作人决定并修复。 这样我们就无法修改/改变会话超时。

会话超时由IIS(互联网信息服务器)监控 现在只有办法处理它经常与服务器交互,为此你可能有两种方式

1使用java脚本将hartbeets发送到服务器

2会话到期前刷新网页,为此您必须知道会话何时到期。

第二个很容易。 考虑您有一个包含webbrowser控件的表单,在其load事件(form_load)事件中,您可以编写如下。

    private void FrmMain_Load(object sender, EventArgs e)
    {
      string url = "http://www.google.com"; 
      webBrowser1.Navigate(url);   
      timer1.Interval = 1000-10; // "1000" Time in millisecond that will be your maximum Session expires Time span   
      // and -10 is value that you want to refresh the page  before expire
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
     webBrowser1.Refresh();


    }

答案 1 :(得分:0)

你必须使用Watin吗?使用.NET webbrowser,您可以使用onNavigate事件为超时时间启动秒表并在documentComplete事件处理程序中停止。如果秒表时间超过你的超时,你可以做webBrowser1.Refresh()。这比嵌入Javascript简单得多,但我不知道你现在是否可以更改浏览器。