将业务逻辑公开给任务调度机制的架构正确且安全的方式是什么?

本文关键字:安全 是什么 方式 机制 任务调度 业务 | 更新日期: 2023-09-27 18:15:56

我有一个由SQL server express支持的三层asp.net web应用程序,使用c#的业务逻辑和web UI。在我的业务逻辑层中,我有一小组作为对象方法存在的操作,它们需要在可配置的、定期的基础上运行。这些操作依赖于我当前应用程序中的许多其他对象,并且需要我的数据访问层与SQL对话。目前,我手动登录到管理网站,并通过我的UI启动操作,因为目前只有两个操作,但会增加。

我考虑过几个选项,但在我继续之前想要考虑一下…

我可以在Windows服务器上创建一些计划任务来周期性地启动这些操作,但我想知道如何以最好的方式暴露这些操作。我想创建一个web服务来公开它们,并构建一个小的exe来调用该web服务,但我必须确保web服务被安全锁定。另一个选项,我知道少一点关于将通过导出暴露这些动作,然后构建一个应用程序,可以通过引用DLL使用它们。如果应用程序必须把所有东西都拉进去使用,它似乎会变得有点大,除非我能把我的应用程序二进制文件更多地组件化,这样它只需要一两个小的二进制文件。

关于我应该如何处理这个问题,或者关于讨论这类问题的内容有什么建议吗?

将业务逻辑公开给任务调度机制的架构正确且安全的方式是什么?

我已经走了从主应用程序调用WebService的小EXE的方式,它似乎工作得很好,但那是在我发现Quartz.net之前。

现在我建议使用Quartz.net作为调度程序。从网站:

  • Jobs可以是任何实现简单IJob接口的。net类。为job所能完成的工作留下了无限的可能性。