【发布时间】:2011-03-30 23:14:12
【问题描述】:
我的情况:当我在 GAC 中部署程序集 .NET 时,出现错误(无法访问 xxx.dll,因为正在用于另一个进程)。 IIS 使用这些 dll(程序集)。
哪种方法是最好的方法(更高性能、快速和安全的方法)或所有方法来停止、启动 IIS 6.0 Windows 2003 ? (对于 C#、.NET 3.5)
选项,我认为:
检测机器中安装的 IIS。
Process.Start()使用命令:iisreset /stop和iisreset /start-
使用 ServiceController 类获取“万维网发布服务”(“W3SVC”) 然后停下来
controller.Stop(); controller.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromSeconds(timeoutSeconds));然后开始
controller.Start(); controller.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromSeconds(timeoutSeconds)); Process.Start()使用命令:taskkill /IM aspnet_wp.exe /F(在 Win2003 中使用 w3wp.exe)我不知道的其他选项?
【问题讨论】:
标签: .net asp.net iis iis-6 iisreset