我的网络应用程序必须在后台进行一些计算。我研究了多种解决方案,我想使用业务逻辑而不是触发所有计算的 SQL 作业。经过几天的研究,我仍然不相信什么是我的案例的最佳解决方案。
很多文章提到 Quartz.NET,一个单独的 Windows 服务(但我认为这不是大多数共享 Web 主机服务的选项),一个 Windows 任务等......
为了将计算保留在业务逻辑中,我将使用专用的“任务”控制器扩展我的 Web 应用程序,该控制器自动触发计算,然后返回其操作的结果。
Q1:使用 Quartz.NET 定时 Web 请求调用控制器不会那么难,但我怎样才能保证它的安全?如果我将 [Authorize] 属性添加到我的“任务”控制器,它将阻止请求。(请注意,我在 Internet Web 应用程序上使用表单身份验证)我不希望 Internet 上的用户能够启动我的“任务”控制器。
Q2:另外,如果我认为共享 Web 主机服务不支持安装单独的 Windows 服务或远程桌面连接是正确的,我将有 2 个选项:
希望共享 Web 主机服务支持 Windows 任务(但这可以使用授权凭据调用吗?)
从我的 application_start 启动 Quartz.NET(这当然不是一个理想的解决方案......)
提前致谢
氪