我正在请求实现建议
操作系统:Windows Server 2008 平台:ASP.NET、C# 数据库:MS SQL 2005
场景是:
我们必须实现一个监控守护进程,它将以频繁的时间间隔(比如 10 秒)监控 MS SQL 中的一组数据库表,并识别所有关键条目。
分析后的条目将根据其关键性或类别与某些操作相关联。因此,假设一个关键条目将被表示为
ACCT_USR_LIMIT_EXECEED : SomeName
。
3.So ACCT_USR_LIMIT_EXECEED : SomeName
应关联到一个 Action ,该 Action 应是电子邮件发送或数据库表更新查询执行或文件夹大小测量或删除文件夹或清理文件夹中的某些文件本地硬盘等
目前要分析的关键条目数量应该适中,但也有增加的空间。
我们如何解决这个问题,我认为有可能,
- 我们应该编写一个窗口服务来监控和调度操作,还是
- 编写两个不同的服务,一个用于监视并将其分析分派(dispatch)给 MSMQ,另一个服务用于分派(dispatch)一个操作来读取推送的同一 MSMQ 条目。
拥有单一的 Windows 服务对我们有帮助吗?或者最好的方法是什么。
请建议
最佳答案
我认为这完全取决于预期的派送量。如果你打算每秒进行 2000 次调度,那么我认为分离是个好主意,这样一个服务就不会影响另一个,你可能为每个服务都有一个单独的环境(服务器)。如果预期的数量是每分钟 10 个左右,那么我不明白为什么要让它变得复杂,一些线程和适当的业务层就可以了。
关于c# - 最佳方法建议 : C# based Windows service implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10351307/