在 .NET 6.0 中,你可以使用 Microsoft.Web.Administration 命名空間提供的 API 來管理 IIS 進程池并實現重啟操作。以下是一個示例代碼,展示如何使用 .NET 6.0 中的 Microsoft.Web.Administration 來重啟 IIS 進程池:
using Microsoft.Web.Administration;class Program
{static void Main(string[] args){string appPoolName = "YourAppPoolName"; // 替換為你的應用程序池名稱using (ServerManager serverManager = new ServerManager()){ApplicationPool appPool = serverManager.ApplicationPools[appPoolName];if (appPool != null){if (appPool.State == ObjectState.Stopped){Console.WriteLine($"Application pool '{appPoolName}' is already stopped.");}else{appPool.Stop();Console.WriteLine($"Application pool '{appPoolName}' has been stopped.");}appPool.Start();Console.WriteLine($"Application pool '{appPoolName}' has been started.");}else{Console.WriteLine($"Application pool '{appPoolName}' not found.");}}}
}
確保替換 appPoolName 變量為你想要重啟的應用程序池的名稱。
請注意,在運行此代碼之前,確保你的應用程序擁有足夠的權限來管理 IIS 進程池。通常來說,需要以管理員權限運行你的程序,或者確保你的程序運行在已授權的用戶下。
此代碼演示了如何停止和啟動一個指定的應用程序池。你可以根據需要擴展這個示例來實現更復雜的操作,如檢查進程池的狀態、操作多個進程池等。