我必须编写一个控制台应用程序来将日志每日导入数据库。日志文件和数据库位于不同的服务器上。然后,Web应用程序将搜索此数据库。
我正在考虑应该将导入应用程序迁移到此Web应用程序,还是将此应用程序配置为SQL Server中的作业。 (如前所述,导入工作必须每天在特定时间进行)。
如果我要迁移到网络应用程序,我该如何有效地安排这个? (我正在使用C#)
答案 0 :(得分:1)
服务器A具有日志。 服务器B将处理它们
- 在服务器B上设置FTP
- 将服务器A上的批处理文件写入服务器B的FTP日志文件
- 将此批处理文件设置为服务器A上的计划任务
- 编写控制台应用程序以在FTP目录中查找此文件并导入到DB。
- 将其设置为服务器B上的计划任务(比如其他计划后1小时)。
答案 1 :(得分:0)
使用log4net将您的日志直接写入数据库
答案 2 :(得分:0)
一种技术是通过添加[HttpContext]缓存条目来在启动时安排回调,该条目在下次运行到期时的任何时间到期。然后,可以订阅“正在删除的缓存条目”回调并进行导入。完成后,将虚拟条目添加回缓存中。
这样的任何方法的问题当然是如何通知操作员失败和/或管理如果因任何原因需要重试会发生什么。
答案 3 :(得分:0)
不确定您正在处理哪种“日志”,但MS Log Parser可能对您有所帮助。您可以下载here