/// <summary> /// Queries the status and other configuration properties of an AppPool. /// </summary> /// <param name="name">The AppPool name.</param> /// <param name="useWildcard">Uses a wildcard in searching for the AppPool by name ["%{0}%"].</param> /// <param name="machineName">The server on which the AppPool is running.</param> /// <returns></returns> public static AppPoolConfig QueryStatus(string name, bool useWildcard, string machineName) { AppPoolConfig config = new AppPoolConfig() { AppPoolName = name, ServerName = machineName }; ManagementObjectCollection pools = GetAppPoolSettings(name, useWildcard, machineName); foreach (ManagementObject pool in pools) { String appPoolState = pool["AppPoolState"].ToString(); try { config.State = ((AppPoolReturnCode)Enum.Parse(typeof(AppPoolReturnCode), appPoolState, false)).ToString(); } catch { config.State = "Unknown State (" + appPoolState + ")"; } } return(config); }
public void Add(AppPoolConfig pool) { lock (AppPools) { AppPools.Add(pool); } }