winform中用webbrowser登录(用户名、密码)某个网站,然后导航到一个操作地址,然后一个time空间定时读数据库,如果有数据就把信息填入相关dom对象中。
现在的问题是登录后有个session,如果在session时间无数据填入,肯定要被踢出系统。所以我必须加个定时刷新功能,但是这样的话 有可能在填信息的时候刷新页面引起该次操作失败。查了资料及自己的思路如下:
1、是否可以在开个子线程定时刷,但是这样的话又有个问题,webbrowser貌似是单线程控件。
如果能在开子线程是否只要把主线程中的webbrowser的cookie付给新开子线程的webbrowser(当然这个只能那写session依赖cookie的站点)。
如果不能启用子线程,还有什么好的思路。
你刷新和填数据这两个线程做成同步的看看,比如加个lock对象,然后刷新或者填数据的时候,就有一方需要等待,这样应该不会冲突了吧?
iframe + reload()
Default.aspx:
<head runat="server">
<title>Default.aspx</title>
</head>
<body>
<iframe src="HTMLPage1.htm" name="out"></iframe>
</body>
HTMLPage1.htm:
<head>
<meta http-equiv="Refresh" content="1">
</head>
<body>refresh every second~~</body>