我正在构建一个Web应用程序,它需要在启动时从其他数据库服务器导入数据。
我希望定期自动完成导入。我还希望能够从我的Web应用程序启动和停止导入过程。
导入代理的最佳实现是什么 - Windows服务?还有别的吗?
答案 0 :(得分:1)
如果您的Web应用程序需要在内存中包含此数据,则可以使用Cache
类。
将其设置为每X小时过期,根据需要及过期时间,重新获取数据。
答案 1 :(得分:1)
您可以创建一个使用Quartz.Net来运行计划任务的Windows服务。
您不应该从您的网络应用程序运行计划任务,因为您无法保证您的网络应用程序正在运行。您正处于IIS应用程序池管理的怜悯之中。
您可能需要查看Best way to run scheduled tasks。
答案 2 :(得分:0)
这可能过于简单了,但你能创建一个使用Timer完成所有这些工作的类,然后在global.asax的application_start中创建一个启动这个过程的BackgroundWorker吗? / p>
然后,您的Web应用程序可以控制BackgroundWorker对象,并根据需要启动/停止。
答案 3 :(得分:0)
我听到的内容看起来像Microsoft Sync Framework的描述。我自己的信息很少,但很高兴看到你指出这个方向。
我不确定你的问题,因为你在谈论每小时同步。在谈论Web应用程序时,没有一种很好的方法来完成这样的任务。您必须创建一个控制台应用程序或最佳任务是Windows服务流程(它听起来比较容易)?
同步框架简介
http://msdn.microsoft.com/en-us/sync/bb821992
同步框架教程
http://alexduggleby.com/2007/12/16/sync-framework-tutorial-part-1-introduction/
同步框架示例
http://archive.msdn.microsoft.com/sync
而且,当我用链接编辑答案时
创建Windows服务(和设置)的好指南
http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx
(如果是第一次,在生产项目之前在测试项目上尝试)