/// <summary> /// Wmi query for IIsApplicationPool object. /// </summary> /// <param name="name">The AppPool name.</param> /// <param name="machineName">The server on which the AppPool is running.</param> /// <param name="millisecondsTimeout">Timeout value on ManagementOptions object.</param> /// <param name="options"></param> /// <returns>The Wmi AppPool ManagementObject</returns> static ManagementObject GetAppPoolManagementObject(string name, string machineName, int millisecondsTimeout, ref ManagementOptions options) { IisAppPoolUtilWmiHelper helper = new IisAppPoolUtilWmiHelper(machineName); ManagementObject appPool = helper.CreateManagementObject("IIsApplicationPool"); appPool.Properties["Name"].Value = string.Format("W3SVC/AppPools/{0}", name); options.Timeout = System.TimeSpan.FromMinutes(Convert.ToDouble(millisecondsTimeout)); return(appPool); }
/// <summary> /// Creates a new AppPool. /// </summary> /// <param name="name">The AppPool name.</param> /// <param name="machineName">The server on which the AppPool will be created.</param> /// <param name="millisecondsTimeout">Timeout value on wait for Create to complete.</param> /// <returns>The Wmi ManagementPath</returns> public static ManagementPath Create(string name, string machineName, int millisecondsTimeout) { PutOptions options = new PutOptions(); options.Timeout = System.TimeSpan.FromMinutes(Convert.ToDouble(millisecondsTimeout)); IisAppPoolUtilWmiHelper helper = new IisAppPoolUtilWmiHelper(machineName); ManagementObject appPool = helper.CreateManagementObject("IIsApplicationPoolSetting"); appPool.Properties["Name"].Value = string.Format("W3SVC/AppPools/{0}", name); appPool.Properties["AppPoolIdentityType"].Value = 3; appPool.Properties["ManagedRuntimeVersion"].Value = "v4.0"; return(appPool.Put(options)); }