gpt4 book ai didi

c# - 无法在计算机 '.' 上打开 服务

转载 作者:可可西里 更新时间:2023-11-01 07:58:27 26 4
gpt4 key购买 nike

我有一个用 C# 创建的网站,用于在服务器中启动服务。

我创建了一个名为 MyService 的服务使用这个:

instsrv MyService %systemroot%\system32\srvany.exe

然后我使用下面的代码来调用它:

ServiceController service = new ServiceController("MyService");
try
{
service.Start();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}

但是当我访问网站并触发这个事件时,它会提示我

Cannot open <MyService> service on computer '.'

是因为安全还是权限问题??非常感谢任何具有明确步骤的指南。

最佳答案

对于 iis(版本 6 及更高版本),Web 应用程序使用应用程序池运行。每个应用程序池都可以使用特定用户(身份)运行,默认情况下为 NETWORK SERVICE。将此用户添加到本地管理员是一个非常糟糕的主意。

可能的方法:

  • 授予该用户启动/停止服务所需的权限,设置专用应用程序池以使用该身份,并确保该帐户具有对 asp/.net 应用程序路径的读取权限。
  • 也创建一个专用帐户。在您的应用程序中,使用您安全存储在配置中的用户名/密码连接到服务管理(加密部分)。我不确定您是否可以通过服务控制指定用户/密码,但您至少可以使用 WMI 或 Process.Start 使用 net stop/net start 命令。

关于c# - 无法在计算机 '.' 上打开 <MyService> 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453447/

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