gpt4 book ai didi

c# - 安装后设置服务依赖

转载 作者:太空狗 更新时间:2023-10-29 21:47:40 27 4
gpt4 key购买 nike

我有一个作为 Windows 服务运行的应用程序。它将各种事物设置存储在数据库中,服务启动时会查找这些设置。我构建的服务支持各种类型的数据库(SQL Server、Oracle、MySQL 等)。最终用户经常选择配置软件以使用 SQL Server(他们可以简单地使用连接字符串修改配置文件并重新启动服务)。问题是,当他们的机器启动时,SQL Server 通常在我的服务之后启动,所以我的服务在启动时出错,因为它无法连接到数据库。我知道我可以为我的服务指定依赖项,以帮助引导 Windows 服务管理器在我之前启动适当的服务。但是,我不知道在安装时(当我的服务被注册时)要依赖哪些服务,因为用户可以稍后更改数据库。

所以我的问题是:有没有办法让用户根据他们正在使用的数据库手动指示服务依赖项?如果不是,我应该采用什么正确的设计方法?我考虑过尝试做一些事情,比如在我的服务启动后等待 30 秒,然后再连接到数据库,但由于各种原因,这看起来真的很不稳定。我还考虑过尝试“懒惰地”连接到数据库;问题是我需要在启动时立即建立连接,因为数据库包含我的服务首次启动时需要的各种重要信息。有什么想法吗?

最佳答案

丹尼斯 你要找的是 SC.exe。这是一个命令行工具,用户可以使用它来配置服务。

sc [Servername] Command Servicename [Optionname= Optionvalue...]

更具体地说,你会想使用

sc [ServerName] config ServiceName depend=servicetoDependOn

这是 SC.EXE 类命令选项的链接 http://msdn.microsoft.com/en-us/library/ms810435.aspx

关于c# - 安装后设置服务依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com