2012-05-01 95 views
0

我想在调度Asp.net在Asp.net中调度。什么是最佳解决方案?

我有以下选项来实现这个

  1. 要写入SQLServer的作业(我不想做this.Dont要到外面去.NET环境的)

  2. 第二个选项是我会写的窗口服务,窗口服务将调用asp.net web服务 那么这个Web服务调用asp.net方法
    (我也根本无需这样做,因为我的托管服务提供商可能不让我安装 窗口服务)

  3. 第三个选项是我称之为Application_Start事件我的调度方法在全局类 (缺点是,Web服务器将杀死线程任何时间)

  4. 要呼叫调度代码在Page_Load中主页的事件(可能是没有人访问我的网站小时 ,而且网页执行速度可能很缓慢,由于调度代码)

  5. 我还发现,在给定的时间间隔调用你的页面的一些在线服务,一些下面给出

    http://www.cronservice.co.uk/new/ http://scheduler.codeeffects.com

有人给我这个投注者的解决方案,并解释为什么投注者?

由于提前

+0

Windows任务调度程序运行的可执行文件怎么样? – jrummell

+0

可能是托管服务提供商不允许这样做 – Ali

+0

我将在共享托管环境中托管网站 – Ali

回答

4

的ASP.NET应用程序是不执行调度正确的地方。我会建议创建一个服务或一个计划任务,在短时间内运行。

0

没有适合所有人的解决方案。 SQL作业和Windows作业(计划到windows task scheduler)被广泛使用。在我以前的工作地点之一,他们有多个平台上运行的工作(大型机,Windows,SQL服务器)。其中一些工作失败的话,每天将花费数千美元。所以他们采用了一种叫ESP的东西该软件监控所有平台上的作业,并在发生故障时向控制室发送消息。

如果您对要求有更多的了解,我们可能会更好地帮助您。

0

ASP.NET不适合安置计划任务。当我必须创建计划任务时,我正在使用Quartz.net。

1

您在共享主机环境中没有多个选项。我的主机(WinHost)允许远程访问他们的数据库,所以我能够创建一个在本地服务器上使用Task Scheduler运行的可执行文件。

由于数据库是通过互联网访问的,性能并不好,但它仍然比试图用ASP.NET运行伪调度任务要好。

一些主机还提供一项服务,将定期在您的网站请求一个网址。但是,这并不适用于我,因为我必须运行的任务比请求超时时间长。

0

理想情况下,我会去与1号,因为你得到完全控制/历史/错误报告等。你可以在.NET中编写一个SSIS作业,并让SQL服务器安排它。

但是,我有一个类似的问题,共享主机是非常严格的。我所做的是创建一个页面,该页面在页面加载时运行该进程(在查询字符串中使用验证以实现安全性)。然后,我使用了一台我一直在使用的计算机来安排Windows任务计划程序(这是Windows的一部分作为标准)来调用一些打开浏览器然后关闭它的VB脚本。

相关问题