Example #1
0
		//
		private void SetupSupportedAppPools(ServiceProviderSettings settings)
		{
			supportedAppPools = new List<WebAppPool>();

			#region Populate Shared Application Pools
			// ASP.NET 1.1
			if (!String.IsNullOrEmpty(settings[Constants.AspNet11Pool]))
			{
				supportedAppPools.Add(new WebAppPool
				{
					AspNetInstalled = "1",
					Mode = SiteAppPoolMode.dotNetFramework1 | SiteAppPoolMode.Classic | SiteAppPoolMode.Shared,
					Name = settings[Constants.AspNet11Pool].Trim()
				});
			}
			// ASP.NET 2.0 (Classic pipeline)
			if (!String.IsNullOrEmpty(settings[Constants.ClassicAspNet20Pool]))
			{
				supportedAppPools.Add(new WebAppPool
				{
					AspNetInstalled = "2",
					Mode = SiteAppPoolMode.dotNetFramework2 | SiteAppPoolMode.Classic | SiteAppPoolMode.Shared,
					Name = settings[Constants.ClassicAspNet20Pool].Trim()
				});
			}
			// ASP.NET 2.0 (Integrated pipeline)
			if (!String.IsNullOrEmpty(settings[Constants.IntegratedAspNet20Pool]))
			{
				supportedAppPools.Add(new WebAppPool
				{
					AspNetInstalled = "2I",
					Mode = SiteAppPoolMode.dotNetFramework2 | SiteAppPoolMode.Integrated | SiteAppPoolMode.Shared,
					Name = settings[Constants.IntegratedAspNet20Pool].Trim()
				});
			}
			// ASP.NET 4.0 (Classic pipeline)
			if (!String.IsNullOrEmpty(settings[Constants.ClassicAspNet40Pool]))
			{
				supportedAppPools.Add(new WebAppPool
				{
					AspNetInstalled = "4",
					Mode = SiteAppPoolMode.dotNetFramework4 | SiteAppPoolMode.Classic | SiteAppPoolMode.Shared,
					Name = settings[Constants.ClassicAspNet40Pool].Trim()
				});
			}
			// ASP.NET 4.0 (Integrated pipeline)
			if (!String.IsNullOrEmpty(settings[Constants.IntegratedAspNet40Pool]))
			{
				supportedAppPools.Add(new WebAppPool
				{
					AspNetInstalled = "4I",
					Mode = SiteAppPoolMode.dotNetFramework4 | SiteAppPoolMode.Integrated | SiteAppPoolMode.Shared,
					Name = settings[Constants.IntegratedAspNet40Pool].Trim()
				});
			}
			#endregion

			#region Populate Dedicated Application Pools
			// ASP.NET 1.1
			supportedAppPools.Add(new WebAppPool
			{
				AspNetInstalled = "1",
				Mode = SiteAppPoolMode.dotNetFramework1 | SiteAppPoolMode.Classic | SiteAppPoolMode.Dedicated,
				Name = Constants.APP_POOL_NAME_FORMAT_STRING
			});
			// ASP.NET 2.0 (Classic pipeline)
			supportedAppPools.Add(new WebAppPool
			{
				AspNetInstalled = "2",
				Mode = SiteAppPoolMode.dotNetFramework2 | SiteAppPoolMode.Classic | SiteAppPoolMode.Dedicated,
				Name = Constants.APP_POOL_NAME_FORMAT_STRING
			});
			// ASP.NET 2.0 (Integrated pipeline)
			supportedAppPools.Add(new WebAppPool
			{
				AspNetInstalled = "2I",
				Mode = SiteAppPoolMode.dotNetFramework2 | SiteAppPoolMode.Integrated | SiteAppPoolMode.Dedicated,
				Name = Constants.APP_POOL_NAME_FORMAT_STRING
			});
			// ASP.NET 4.0 (Classic pipeline)
			supportedAppPools.Add(new WebAppPool
			{
				AspNetInstalled = "4",
				Mode = SiteAppPoolMode.dotNetFramework4 | SiteAppPoolMode.Classic | SiteAppPoolMode.Dedicated,
				Name = Constants.APP_POOL_NAME_FORMAT_STRING
			});
			// ASP.NET 4.0 (Integrated pipeline)
			supportedAppPools.Add(new WebAppPool
			{
				AspNetInstalled = "4I",
				Mode = SiteAppPoolMode.dotNetFramework4 | SiteAppPoolMode.Integrated | SiteAppPoolMode.Dedicated,
				Name = Constants.APP_POOL_NAME_FORMAT_STRING
			});
			#endregion

			// Make some corrections for frameworks with the version number greater or less than 2.0 ...
			
			#region No ASP.NET 1.1 has been found - so remove extra pools
			if (String.IsNullOrEmpty(settings[Constants.AspNet11PathSetting]))
				supportedAppPools.RemoveAll(x => dotNetVersion(x.Mode) == SiteAppPoolMode.dotNetFramework1); 
			#endregion

			#region No ASP.NET 4.0 has been found - so remove extra pools
			var aspNet40PathSetting = (Constants.X64Environment)
					? Constants.AspNet40x64PathSetting : Constants.AspNet40PathSetting;
			//
			if (String.IsNullOrEmpty(settings[aspNet40PathSetting]))
				supportedAppPools.RemoveAll(x => dotNetVersion(x.Mode) == SiteAppPoolMode.dotNetFramework4); 
			#endregion
		}
Example #2
0
		//
		public WebAppPoolHelper(ServiceProviderSettings s)
		{
			SetupSupportedAppPools(s);
		}