HostingEnvironmentSection Class
Assembly: System.Web (in system.web.dll)
The HostingEnvironmentSection class provides a way to programmatically access and modify the values of the HostingEnvironmentSection section in the configuration file.When an ASP.NET application is unused for a specified amount of time, it can be unloaded from memory based on the IdleTimeout and ShutdownTimeout properties.
This example demonstrates how to specify values declaratively for several attributes of the hostingEnvironment Element (ASP.NET Settings Schema) section, which can also be accessed as members of the HostingEnvironmentSection class.
The following configuration file example shows how to specify values declaratively for the hostingEnvironment Element (ASP.NET Settings Schema) section.
<system.web>
<hostingEnvironment
idleTimeout="20"
shutdownTimeout="30"
/>
</system.web>
The following code example demonstrates how to use the HostingEnvironmentSection class.
#region Using directives using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.Web; using System.Web.Configuration; #endregion namespace Samples.Aspnet.SystemWebConfiguration { class UsingHostingEnvironmentSection { static void Main(string[] args) { try { // Set the path of the config file. string configPath = ""; // Get the Web application configuration object. Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath); // Get the section related object. HostingEnvironmentSection configSection = (HostingEnvironmentSection)config.GetSection("system.web/hostingEnvironment"); // Display title and info. Console.WriteLine("ASP.NET Configuration Info"); Console.WriteLine(); // Display Config details. Console.WriteLine("File Path: {0}", config.FilePath); Console.WriteLine("Section Path: {0}", configSection.SectionInformation.Name); // Display IdleTimout property Console.WriteLine("Idle Timeout: {0}", configSection.IdleTimeout); // Set IdleTimout property configSection.IdleTimeout = TimeSpan.FromMinutes(40); // Display ShutdownTimeout property Console.WriteLine("Shutdown Timeout: {0}", configSection.ShutdownTimeout); // Set ShutdownTimeout property configSection.ShutdownTimeout = TimeSpan.FromSeconds(60); // Update if not locked. if (!configSection.SectionInformation.IsLocked) { config.Save(); Console.WriteLine("** Configuration updated."); } else { Console.WriteLine("** Could not update, section is locked."); } } catch (Exception e) { // Unknown error. Console.WriteLine(e.ToString()); } // Display and wait Console.ReadLine(); } } }
System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Web.Configuration.HostingEnvironmentSection