Sam*_*amg 9 sql-server asp.net workflow-foundation
我需要根据时间执行一些事件(发送电子邮件等).在托管(中等信任)环境中在ASP.net中实现此目的的最佳方法是什么?
例如:每天下午4点发送电子邮件.
例如:登录15分钟后发送电子邮件.
例如:上次更改状态10小时后发送电子邮件.
触发逻辑在某些要求上可能很复杂,因此我需要构建一个灵活的系统来处理这些类型的事件.我坚持使用此代码的核心激活方法.
这是我到目前为止的选择......
1)Global.asax中的计时器
+简单
- 不可靠,Web应用程序可以在IIS中卸载,并且事件不会触发.
?可能使用外部pinger服务来保持app活着(可靠吗?)
2)执行操作的Windows服务
- 滑动/维护单独的代码.
- 无法在托管环境中安装(共享/云托管)
3)调用Web App的Windows服务(调用webservice或运行页面)
+ Web应用程序中的所有代码
- 无法在托管环境中安装.
4)SQL Server作业调用Web服务(通过CLR)
?没有看过这个......可能吗?在托管环境中可靠吗?
5)SQL Service Broker Timer添加消息来调用WebService(通过CLR)
?没有看过这个......可能吗?在托管环境中可靠吗?
6)Windows工作流程?
?没有想法......这项技术有什么用吗?
这似乎是一个常见的问题,是否有第三方工具来处理这个问题?
我也遇到了同样的问题,非常同意你的分析。迄今为止,我最好的解决方案是在我控制的计算机中安装外部调度应用程序;该应用程序请求实际执行操作的网页。
丑陋但它有效,我已经寻找其他解决方案,相信我!
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |