我想使用IIS7管理控制台配置编辑器在我的<configSections>
文件中的web.config
中添加新的配置节定义,并生成脚本并在安装中执行此脚本以更新客户端的生产服务器。
我可以使用以下代码添加部分定义:
ServerManager serverManager = new ServerManager();
Configuration config =
serverManager.GetWebConfiguration("Default Web site/upngisintegration");
SectionGroup rootSectionGroup = config.RootSectionGroup;
SectionDefinition logSectiondef =
rootSectionGroup.Sections.Add("loggingConfiguration");
logSectiondef.Type =
@"Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=null";
serverManager.CommitChanges();
但是,我不知道如何添加配置细节(见下文)。
我该怎么做?
部分定义:
<section name="loggingConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=null" />
部分明细:
<loggingConfiguration
name="Logging Application Block"
tracingEnabled="true"
defaultCategory="General">
<listeners>
<add fileName="C:\temp\xxxxx.log" ..snipped for brevity.. />
<add timestampFormat="MM-dd-yyyy HH-mm-ss" ..snipped for brevity... />
</listeners>
<formatters>
<add template="...." ..snipped for brevity.../>
</formatters>
<categorySources>
<add switchValue="All" name="General">
<listeners>
<add name="RollingFile TraceListener" />
</listeners>
</add>X
<add switchValue="All" name="Inbound Outbound Trans">
<listeners>
<add name="RollingFile TraceListener" />
</listeners>
</add>
</categorySources>
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors & Warnings">
<listeners>
<add name="RollingFile TraceListener" />
</listeners>
</errors>
</specialSources>
</loggingConfiguration>
答案 0 :(得分:0)
经过几天的研究,我必须执行以下步骤来生成所需的脚本。
请参阅下面的示例custom_schema.xml
---记录应用程序块的Schema详细信息(CUSTOM_schema.xml)
<configSchema>
<sectionSchema name="loggingConfiguration">
<attribute name="name" type="string" />
<attribute name="tracingEnabled" type="bool" defaultValue="true"/>
<attribute name="defaultCategory" type="string" defaultValue="General"/>
<attribute name="type" type="string" defaultValue="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<element name="listeners">
<collection addElement="add" removeElement="remove" clearElement="clear">
<attribute name="fileName" required="true" type="string" defaultValue="c:\temp\log.log" />
<attribute name="header" required="true" type="string" defaultValue="-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" />
<attribute name="footer" required="true" type="string" defaultValue="-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" />
<attribute name="formatter" required="true" type="string" defaultValue="Text Formatter" />
<attribute name="listenerDataType" required="true" type="string" defaultValue="LogicaCMG.EnterpriseLibraryExtensions.Logging.Configuration.RollingFileTraceListenerData, LogicaCMG.EnterpriseLibraryExtensions.Logging, Version=0.5.2.0, Culture=neutral, PublicKeyToken=null" />
<attribute name="traceOutputOptions" required="true" type="string" defaultValue="None" />
<attribute name="type" type="string" required="true" defaultValue="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
<attribute name="name" type="string" required="true" defaultValue="RollingFile TraceListener" />
<attribute name="ageThreshold" type="string" required="true" defaultValue="1" />
<attribute name="ageUnit" type="string" required="true" defaultValue="Days" />
<attribute name="sizeThreshold" type="string" required="true" defaultValue="2" />
<attribute name="sizeUnit" type="string" required="true" defaultValue="Megabytes" />
<attribute name="maximumNumberOfLogs" type="string" required="true" defaultValue="20" />
<attribute name="timestampFormat" type="string" required="true" defaultValue="MM-dd-yyyy HH-mm-ss" />
</collection>
</element>
<element name="formatters">
<collection addElement="add" removeElement="remove" clearElement="clear">
<attribute name="template" required="true" type="string" defaultValue="Timestamp:{timestamp(local:F)}
Message: {message}
Category: {category}
Priority: {priority}
Severity: {severity}" />
<attribute name="type" type="string" required="true" defaultValue="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
<attribute name="name" required="true" type="string" defaultValue="Text Formatter" />
</collection>
</element>
<element name="categorySources">
<collection addElement="add" removeElement="remove" clearElement="clear">
<attribute name="switchValue" required="true" type="string" defaultValue="All" />
<attribute name="name" required="true" type="string" defaultValue="General"/>
<element name="listeners">
<collection addElement="add" removeElement="remove" clearElement="clear">
<attribute name="name" required="true" type="string" defaultValue="RollingFile TraceListener"/>
</collection>
</element>
</collection>
</element>
<element name="specialSources">
<element name="allEvents">
<attribute name="switchValue" type="string" defaultValue="All"/>
<attribute name="name" type="string" defaultValue="All Events"/>
</element>
<element name="notProcessed">
<attribute name="switchValue" type="string" defaultValue="All"/>
<attribute name="name" type="string" defaultValue="Unprocessed Category"/>
</element>
<element name="errors">
<attribute name="switchValue" type="string" defaultValue="All"/>
<attribute name="name" type="string" defaultValue="Logging Errors & Warnings"/>
<element name="listeners">
<collection addElement="add" removeElement="remove" clearElement="clear">
<attribute name="name" type="string" defaultValue="RollingFile TraceListener"/>
</collection>
</element>
</element>
</element>
</sectionSchema>
</configSchema>