Sql server 自动执行使用实体框架处理数据的C代码?
我的代码使用实体框架处理数据,从多个表检索数据,然后在保存到SQL数据库之前对其执行操作。代码应该在我创建的MVC web应用程序中单击按钮时运行。但现在,客户机希望数据处理每天在设定的时间自动运行,就像SSIS包一样。我该怎么做呢?你可以使用一些工具/lib来为你做这件事。我可以推荐Hangfire,它很好用还有一些,我没有试过 上的示例非常明确:Sql server 自动执行使用实体框架处理数据的C代码?,sql-server,asp.net-mvc,entity-framework,ssis,Sql Server,Asp.net Mvc,Entity Framework,Ssis,我的代码使用实体框架处理数据,从多个表检索数据,然后在保存到SQL数据库之前对其执行操作。代码应该在我创建的MVC web应用程序中单击按钮时运行。但现在,客户机希望数据处理每天在设定的时间自动运行,就像SSIS包一样。我该怎么做呢?你可以使用一些工具/lib来为你做这件事。我可以推荐Hangfire,它很好用还有一些,我没有试过 上的示例非常明确: RecurringJob.AddOrUpdate( () => Console.WriteLine("Recurring!
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Recurring!"),
Cron.Daily);
上面的代码需要在应用程序启动后执行一次,这样就可以开始了。只需通过调用方法来替换lambda
根据您的意愿调整时间参数,甚至更好:使其可配置,因为我们知道客户喜欢改变主意
Hangfire需要创建自己的数据库,通常对于这种情况,它会保持相当小的规模。您还可以监视作业是否运行良好,并在hangfire服务器上检查“否”一些有用的统计信息。您可以使用一些工具/lib来为您执行此操作。我可以推荐Hangfire,它很好用还有一些,我没有试过 上的示例非常明确:
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Recurring!"),
Cron.Daily);
上面的代码需要在应用程序启动后执行一次,这样就可以开始了。只需通过调用方法来替换lambda
根据您的意愿调整时间参数,甚至更好:使其可配置,因为我们知道客户喜欢改变主意
Hangfire需要创建自己的数据库,通常对于这种情况,它会保持相当小的规模。您还可以监视作业是否运行良好,并在hangfire服务器上检查no一些有用的统计信息
但现在,客户机希望数据处理每天在设定的时间自动运行,就像SSIS包一样。我该怎么办
除了按照@Pac0的建议向MVC应用程序添加作业调度器外,这里还有几个其他选项:
将代码留在MVC项目中,并创建一个API端点,您可以按照某种计划调用该端点。为客户端提供一个调用API的PowerShell脚本,并让他们从中获取它
或
将代码重构为.DLL或将其复制/粘贴到控制台应用程序中,该应用程序可以使用Windows调度器、SQL代理或其他外部调度器按计划运行
但现在,客户机希望数据处理每天在设定的时间自动运行,就像SSIS包一样。我该怎么办
除了按照@Pac0的建议向MVC应用程序添加作业调度器外,这里还有几个其他选项:
将代码留在MVC项目中,并创建一个API端点,您可以按照某种计划调用该端点。为客户端提供一个调用API的PowerShell脚本,并让他们从中获取它
或
将代码重构为.DLL或将其复制/粘贴到控制台应用程序中,该应用程序可以使用Windows计划程序、SQL代理或其他外部计划程序按计划运行。选项范围广泛。我们在web服务器上使用Windows服务-安全且独立于web应用程序。同意。使用Hangfire将交互式web代码转换为批处理平台听起来像是最糟糕的范围爬行。@David Brown非常感谢。我最终使用了一个控制台应用程序。我还将实现API解决方案:一系列好的选项。我们在web服务器上使用Windows服务-安全且独立于web应用程序。同意。使用Hangfire将交互式web代码转换为批处理平台听起来像是最糟糕的范围爬行。@David Brown非常感谢。我最终使用了一个控制台应用程序。我还将实施API解决方案: