Файлы machine.config и web.config играют различные роли в архитектуре конфигурации, но формат и доступные параметры этих файлов практически одинаковы. Эти файлы основаны на XML, поэтому существует несколько правил XML, которые можно к ним применить.
Поскольку файлы чувствительны к регистру, важно знать два соглашения, используемых при создании настроечных файлов.
Ниже приведен фрагмент файла machine.config, показывающий различные разделы и общую структуру.
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <configSections> <sectionGroup name="system.web"> <section name="httpRuntime" type ="System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <section name="compilation" type= "System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </sectionGroup> </configSections> <system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" /> <compiler language="vb;vbs;visualbasic;vbscript" extension= ".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </compilers> </compilation> </system.web>
В начале файла machine.config находится объявление XML.
<?xml version="1.0" encoding="UTF-8" ?>
Эта строка указывает, что файл является документом, совместимым с XML 1.0, и использует кодировку UTF-8. Следующая срока является началом конфигурационных данных.
<configuration>
Она представляет открывающий тег набора тегов, который содержит все разделы настроек и параметры. В конце файла находится тег </configuration>. Все разделы и параметры располагаются между этими двумя тегами.