自动化ASP.NET Web窗体

时间:2010-08-11 20:09:05

标签: vb.net batch-file automation

我有一个ASP.NET Web表单,它读取文件并将一些数据写入数据库。我需要按计划运行此过程。

目前,我有一个调度批处理文件的计划任务。然后批处理文件打开Internet Explorer并导航到URL并触发该进程。还有另一个关闭Internet Explorer的计划批处理文件。

当然,有一种更优雅的方式来做到这一点。

3 个答案:

答案 0 :(得分:1)

您是否有权更改网站?可能大多数优雅的解决方案是将Web表单背后的功能抽象为自己的类,并让Web表单和Web服务调用它。然后创建一个客户端应用程序(Windows服务或预定的控制台应用程序...我推荐后者,因为它更容易调试和维护,随着时间的推移)击中Web服务。如果/需要,仍然可以手动点击该站点。

如果我的第一个问题的答案是“否”,那么我会建议一个预定的客户端应用程序,它只构建一个web request并将其关闭。除了加载页面以启动流程之外,还有什么需要做的吗?

答案 1 :(得分:1)

如果您只是获取一个页面来启动该过程,您可以使用powershell而不是IE来执行此操作:

$webclient = New-Object System.Net.WebClient
$response = $webclient.DownloadData("http://www.stackoverflow.com/")

如果你需要验证一些返回值,你可以这样得到:

$encoding = New-Object System.Text.utf8Encoding
$returnvalue = $encoding.GetString($response)

答案 2 :(得分:0)

如果您有cygwinwget,则可以安排调用,如

wget http://URL/whatever?getparams

这将完成请求并自行关闭。比尝试使用IE更优雅,但不像其他人那样编程密集。