<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="CLIP" type="CLIP.eForm.Server.Configuration.ConfigSection, CLIP.e-Form.Server"/>
    <sectionGroup name="iBATIS">
      <section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common"/>
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <!--<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>-->
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <!--<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>-->
          <!--<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>-->
          <!--<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>-->
          <!--<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>-->
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
  <system.serviceModel>
    <client />
    <bindings>
      <basicHttpBinding>
        <binding name="CLIP.eForm.Consent.Web.HospitalSvc" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:30:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
          <security mode="None"/>
        </binding>
        <binding name="CLIP.eForm.Consent.Web.ConsentSvc" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:30:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
          <security mode="None"/>
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel>
  <connectionStrings/>
  <system.web>
    <httpRuntime maxRequestLength="2097151"/>
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <!--
            <authentication> 섹션에서는 ASP.NET에서 사용되는 
            보안 인증 모드의 구성을 설정하여 들어오는 
            사용자를 식별할 수 있습니다. 
        -->
    <!-- <authentication mode="Windows"/> -->
    <!--
            <customErrors> 섹션에서는 요청을 실행하는 동안 
            처리되지 않은 오류가 발생하는 경우 수행할 작업을 
            구성할 수 있습니다. 특히 이
            섹션에서 개발자는 오류 스택 추적 대신 html 
        오류 페이지가 표시되도록 구성할 수 있습니다.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </controls>
    </pages>
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>
  </system.web>
  <appSettings>    
  </appSettings>
  <CLIP>
    <MapConfig>
      <app key="OracleMap" value="OracleMap.config"/>
      <app key="MSSqlMap" value="MSSQLMap.config"/>
      <app key="SQLiteMap" value="SQLiteMap.config"/>
    </MapConfig>
    <Default>
      <app key="AppData" value="ConfigFileName"/>
      <app key="MapConfig" value="OracleMap"/>
    </Default>
    <AppData>
      <app key="ConfigFileName" value="eformserver.xml"/>
      <add key="repositoryBizComponent" value="CLIP.e-Form.Server.Adapter.dll"/>
      <!--<add key="repositoryBizComponent" value="CLIP.e-Form.Server.Hospital.dll"/>-->
      <!--<add key="repositoryBizComponent" value="CLIP.e-Form.Server.SQLite.dll"/>-->
    </AppData>
    <ETC>
      <!--<app key="" value="" />-->
    </ETC>
  </CLIP>
  <!-- iBATIS.NET & Log4Net Settings -->
  <iBATIS>
    <logging>
      <logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
        <arg key="configType" value="inline"/>
      </logFactoryAdapter>
    </logging>
  </iBATIS>
  <!-- Log4Net Settings -->
  <log4net>
    <!-- Define some output appenders -->
    <appender name="CLIP_eForm_DEBUG_Appender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\eFormServer.Debug.log"/>
      <param name="AppendToFile" value="true"/>
      <param name="DatePattern" value="_yyyy-MM-dd"/>
      <param name="RollingStyle" value="Composite"/>
      <param name="MaxSizeRollBackups" value="-1"/>
      <param name="MaximumFileSize" value="1000KB"/>
      <param name="StaticLogFileName" value="true"/>
      <!-- true : Allow to Static File Name for current logging file -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n[Logging Date Time: %d] =====================================================================================%nDebug Message - %m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="DEBUG"/>
        <levelMax value="DEBUG"/>
      </filter>
    </appender>
    <!-- Define Info output appenders -->
    <appender name="CLIP_eForm_INFO_Appender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\eFormServer.Info.log"/>
      <param name="AppendToFile" value="true"/>
      <param name="DatePattern" value="_yyyy-MM-dd"/>
      <param name="RollingStyle" value="Composite"/>
      <param name="MaxSizeRollBackups" value="-1"/>
      <param name="MaximumFileSize" value="1000KB"/>
      <param name="StaticLogFileName" value="true"/>
      <!-- true : Allow to Static File Name for current logging file -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n[Logging Date Time: %d] =====================================================================================%nInfomation Message - %m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO"/>
        <levelMax value="INFO"/>
      </filter>
    </appender>
    <!-- Define Warn output appenders -->
    <appender name="CLIP_eForm_WARN_Appender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\eFormServer.Warn.log"/>
      <param name="AppendToFile" value="true"/>
      <param name="DatePattern" value="_yyyy-MM-dd"/>
      <param name="RollingStyle" value="Composite"/>
      <param name="MaxSizeRollBackups" value="-1"/>
      <param name="MaximumFileSize" value="1000KB"/>
      <param name="StaticLogFileName" value="true"/>
      <!-- true : Allow to Static File Name for current logging file -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n[Logging Date Time: %d] =====================================================================================%nWarn Message - %m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="WARN"/>
        <levelMax value="WARN"/>
      </filter>
    </appender>
    <!-- Define Error output appenders -->
    <appender name="CLIP_eForm_ERROR_Appender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\eFormServer.Error.log"/>
      <param name="AppendToFile" value="true"/>
      <param name="DatePattern" value="_yyyy-MM-dd"/>
      <param name="RollingStyle" value="Composite"/>
      <param name="MaxSizeRollBackups" value="-1"/>
      <param name="MaximumFileSize" value="1000KB"/>
      <param name="StaticLogFileName" value="true"/>
      <!-- true : Allow to Static File Name for current logging file -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n[Logging Date Time: %d] =====================================================================================%nError Message - %m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="ERROR"/>
        <levelMax value="ERROR"/>
      </filter>
    </appender>
    <!--Visual Studio의 출력 창 출력 Appender-->
    <appender name="VisualStudioDebugAppender" type="log4net.Appender.DebugAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d - %m%n"/>
      </layout>
    </appender>
    <!-- ▒▒▒ IBatisNet ▒▒▒ Define iBATIS output appenders -->
    <appender name="iBATISRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\eFormServer.iBATIS.log"/>
      <param name="DatePattern" value="_yyyy-MM-dd"/>
      <param name="MaxSizeRollBackups" value="-1"/>
      <param name="MaximumFileSize" value="1000KB"/>
      <param name="RollingStyle" value="Composite"/>
      <param name="StaticLogFileName" value="true"/>
      <param name="AppendToFile" value="true"/>
      <!-- true : Allow to Static File Name for current logging file -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n[Logging Date Time: %d] =====================================================================================%nSQL Command - %m%n"/>
      </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d - [%level] %m%n"/>
      </layout>
    </appender>
    <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
    <!-- Set root logger level to ERROR and its appenders -->
    <root>
      <level value="ALL"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </root>
    <!-- ▒▒▒ IBatisNet ▒▒▒ Print only messages of level DEBUG or above in the packages -->
    <logger name="IBatisNet.DataMapper.Commands.DefaultPreparedCommand">
      <level value="DEBUG"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataMapper.Configuration.Cache.CacheModel">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataMapper.LazyLoadList">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataMapper.SqlMapSession">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.Common.Transaction.TransactionScope">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataAccess.DaoSession">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataAccess.Configuration.DaoProxy">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataMapper.Configuration.Statements.PreparedStatementFactory">
      <level value="OFF"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="IBatisNet.DataMapper.Commands.IPreparedCommand">
      <level value="DEBUG"/>
      <appender-ref ref="iBATISRollingLogFileAppender"/>
    </logger>
    <logger name="CLIPSOFT">
      <level value="ALL"/>
      <appender-ref ref="CLIP_eForm_DEBUG_Appender"/>
      <appender-ref ref="CLIP_eForm_INFO_Appender"/>
      <appender-ref ref="CLIP_eForm_WARN_Appender"/>
      <appender-ref ref="CLIP_eForm_ERROR_Appender"/>
    </logger>
  </log4net>
  <!-- 
        IIS(인터넷 정보 서비스) 7.0에서 ASP.NET AJAX를 실행하는 데 system.webServer 섹션이
        필요합니다. 이전 버전의 IIS에서는 필요하지 않습니다.
    -->
  <system.webServer>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
      <remove name="scriptResourceHandler"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
    <staticContent>
      <mimeMap fileExtension=".epp" mimeType="text/xml"/>
      <mimeMap fileExtension=".ept" mimeType="text/xml"/>
    </staticContent>
    <directoryBrowse enabled="false"/>
      <validation validateIntegratedModeConfiguration="false"/>
    <modules>
      <remove name="ScriptModule"/>
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
  </system.webServer>
  <!--
  <system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.Web.Services.Asmx">
        <listeners>
          <add name="AsmxTraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="local.log" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="System.Web.Services.Asmx" value="Verbose"  />
    </switches>
  </system.diagnostics>
  -->
  <runtime>
    <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.codedom>
      <compilers>
        <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
          <providerOption name="CompilerVersion" value="v3.5"/>
          <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>
</configuration>