我们有一个 .NET Windows 服务,它以事务方式将大量非常关键的数据从 A 铲到 B。我们还需要确保在服务中使用的所有外部组件都未正确分配,并且在关闭服务本身之前清理了所有内容。这可能需要几个小时!原因是服务需要等待外部组件的回调,该回调会在 2、3 或 4 小时后到达。
- Windows 是否有可能等待这么长时间才能正常关闭服务?
- 服务中是否有选项可以指示当服务被操作系统关闭时会发生什么,例如完全防止关闭?
- 另外,作为另一种情况,如果服务器需要重新启动会发生什么?它可以等待几个小时的服务吗?
- 操作系统在终止服务之前等待服务的时间是否有限制?