配置系统无法在窗口服务中初始化

时间:2016-08-23 05:31:39

标签: c# windows-services app-config

我用log4net开发了windows服务来记录异常。

这是我的app.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>


  <configuration>
    <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
    </configSections>
  </configuration>
  <log4net>
    <root>
      <level value="Error" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\\windowslogfile.txt"/>


        <appendToFile value="true" />
        <rollingStyle value="Composite" />
        <maxSizeRollBackups value="14" />
        <countDirection value="1" />
        <maximumFileSize value="4096KB" />
        <lockingModel type="log4net.Appender.FileAppender.MinimalLock" />
        <staticLogFileName value="true" />
        <PreserveLogFileNameExtension value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%newlineDate[%date] ThreadID[%thread] Level[%-5level] Logger[%logger]] - %message%newline" />
        </layout>
      </appender>
  </log4net>
  <appSettings>
    <add key="Service1" value="Te.Service"/>
    <add key="Service2" value="CaseWorksCachingServiceme"/>
    <add key="Service2" value="CaseWorksCachingService"/>

  </appSettings>


</configuration>

嗨,我无法正常运行Windows服务。日志文件中记录的错误是

  

配置系统无法初始化。

3 个答案:

答案 0 :(得分:0)

您的appsettings中有一个重复的键,即Service2

答案 1 :(得分:0)

  

配置系统无法初始化

我怀疑您的Windows服务无权访问 C:\ windowslogfile.txt

或者:

  • 为运行该服务的服务帐户授予此文件夹相应的权限,或者

  • 只需删除log4net。

答案 2 :(得分:0)

您有<configuration>作为父标记和子标记,Witch不正确。

删除子<configSections>代码,直接在父代中添加<configSections>,如下所示,

  <?xml version="1.0" encoding="utf-8" ?>
  <configuration>
      <configSections>
              ...
      </configSections>
  </configuration>

似乎是Copy&amp; Pest错误。