我们有一个.NET Windows服务,以事务方式从A传输大量高度关键的数据到B。我们还需要确保服务中使用的所有外部组件都正确释放,并在关闭服务本身之前清理一切。这可能需要几个小时!原因是服务需要等待外部组件的回调,这些回调会在2、3或4个小时后到达。
- Windows是否可以等待服务正常关闭如此长的时间?
- 在服务被操作系统关闭时,我能否在服务中指定发生的情况,例如完全阻止关闭?
- 另外,如果服务器需要重新启动,会发生什么?它能等待服务数小时吗?
- 操作系统在杀死服务之前会等待多长时间?