gpt4 book ai didi

c# - 我可以停止 IIS 吗?

转载 作者:太空狗 更新时间:2023-10-29 23:58:40 25 4
gpt4 key购买 nike

在 .NET windows 应用程序中修改 ASP.NET 应用程序使用的远程机器配置文件。但是,我不断收到错误消息:

System.IO.IOException:进程无法访问文件“[文件名]”,因为它正被另一个进程使用。

现在,这可能不是问题所在,但我想如果我可以停止 IIS,那么我可以修改机器配置文件(不会出现异常),然后我可以使用此代码重新启动 IIS :

 Process proc = new Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.FileName = "iisreset";
proc.StartInfo.Arguments = serverName;
try
{
proc.Start();
proc.WaitForExit();
...

1) 有没有办法停止 IIS 而不 重新启动它,以及 2) 这种更改 server.config 文件的方法是否有意义?

(注意,我正在使用正则表达式搜索和替换修改文件;这是一个问题吗?)

最佳答案

你应该能够做这样的事情。我没有 Windows,所以我无法检查服务的确切名称,但我认为它是“IISADMIN”或“w3svc”。请记住,这应该是服务名称,而不是您在服务控制面板中看到的显示名称。

ServiceController controller  = new ServiceController();
controller.MachineName = "."; // or the remote machine name
controller.ServiceName = "IISADMIN"; // or "w3svc"
string status = controller.Status.ToString();

// Stop the service
controller.Stop();

// Start the service
controller.Start();

你也可以使用

net stop w3svc

net stop IISADMIN

从命令行或在您的代码中

关于c# - 我可以停止 IIS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196600/

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