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