gpt4 book ai didi

c# - 如何设置 Windows 服务的权限

转载 作者:行者123 更新时间:2023-11-30 22:29:29 25 4
gpt4 key购买 nike

因此,我使用 C# 创建了一个 Windows 服务,并在 Visual Studio 中为它创建了一个安装程序。它设置为手动运行,因为我不希望它一直运行。然后我有另一个应用程序 (C# WPF),它应该有一个选项来打开和关闭服务(该服务本身创建一个 Web 服务,该服务反过来与我的 WPF 应用程序通信)。这在 Windows XP 中运行良好,但在 Windows 7 机器上测试时,它无法启动。令人惊讶的是它确实抛出异常并崩溃,它什么都不做。我相信这是一个权限问题。如果我使用相同的 Windows 7 帐户转到服务控制面板,我也无法启动或停止该服务。

所以我的问题是,有没有办法设置我的服务,以便普通用户帐户可以启动和停止它?有没有办法让我的安装程序自动执行此操作。

我不希望我的 WPF 应用程序以管理员身份运行!

最佳答案

虽然我相信可以保护服务以便普通用户可以启动和停止它,但我不建议这样做。这会造成很多复杂情况,并可能导致混淆。我总是喜欢让事情保持简单,尤其是在安装和安全方面。

因此,如果我们不能让用户启动和停止服务,我们可能需要让服务一直运行。由于您不希望该服务一直处于事件状态,我建议您为该服务提供它自己的内部 Running 标志。当此设置为真时,服务处于事件状态并处理繁忙的事情,否则服务保持空闲。您可以使用首选的 IPC 机制(套接字、命名管道、WCF 等)来允许用户切换此开关。

关于c# - 如何设置 Windows 服务的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198799/

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