我有一个 Web 服务器和一个数据库服务器,我想运行一个使用现有 C# DLL 访问数据库并执行一些计算的作业。
在 C# 中创建控制台应用程序并将其安排在 Web 服务器(应用程序服务器)上以针对数据库服务器运行的最简单方法是什么?
我认为 SSIS 是一种选择,但我不太了解,所以我认为将控制台应用程序安排为任务是最好的。
你怎么看?
我有一个 Web 服务器和一个数据库服务器,我想运行一个使用现有 C# DLL 访问数据库并执行一些计算的作业。
在 C# 中创建控制台应用程序并将其安排在 Web 服务器(应用程序服务器)上以针对数据库服务器运行的最简单方法是什么?
我认为 SSIS 是一种选择,但我不太了解,所以我认为将控制台应用程序安排为任务是最好的。
你怎么看?
我是控制台应用程序 + 计划任务方法的忠实粉丝。它往往更清洁,更容易测试,并且如果出现问题,也更容易重新运行。也就是说,如果您可以用纯 SQL 编写计算,则可以将所有内容作为 SQL 作业运行。或者,您可以利用 SQLCLR(存在于 SQL Server 中并且基本上显示为 sproc 或 UDF 的 .NET 程序集),并且还可以完全在 SQL 作业引擎中运行事物。
如果工作非常小,您不需要为此编写单独的控制台应用程序。您可以单独编写一个页面并编写一个批处理文件,即相同的调度程序来调度它。您也可以通过窗口的用户界面安排它。除此之外,如果您的工作是维护计划的计划/步骤(例如重新索引、备份数据库、碎片整理、清理历史记录/日志等),则在“管理”下从您的 sql 服务器为其创建维护计划" 文件夹可用。
您还可以从 PowerShell 脚本调用 C# DLL,并将该脚本作为计划任务执行。
对于需要在后台立即采取行动的操作,我更喜欢为我的每个项目提供服务。
您可以使用 Quartz.NET 库 (quartznet.sourceforge.net) 在您的控制台应用程序中进行调度,它是开源的并且可以完美运行!
是的,最简单的解决方案是创建一个单独的控制台应用程序并将其作为计划任务运行。
您可以访问 Web 服务器,并且所有工具都已经就位,无需安装任何其他工具。