﻿<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        <sectionGroup name="common">
            <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
        </sectionGroup>
    </configSections>
    <common>
        <logging>
            <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
                <arg key="configType" value="INLINE" />
            </factoryAdapter>
        </logging>
    </common>
    <log4net>
        <root>
            <level value="OFF" />
            <appender-ref ref="LogFileAppender" />
            <appender-ref ref="EventLogAppender" />
        </root>
        <!--<logger name="Trigger.CSSD.Client.Modules.Printing.Services">
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </logger>-->
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
            <bufferSize value="1" />
            <param name="File" value="C:\temp\SSDClientLog.txt" />
            <param name="AppendToFile" value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="10MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss} %-5level [%thread] - %message%newline" />
            </layout>
        </appender>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date - %message%newline" />
            </layout>
        </appender>
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
            <logName value="System" />
            <applicationName value="SSD Application" />
        </appender>
    </log4net>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
    <!-- Required for connection to service -->
    <system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="RequestProcessorBehavior">
                    <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                </behavior>
                <behavior name="webHttpBehavior">
                    <webHttp></webHttp>
                </behavior>
                <behavior name="MessageStreamBehavior">
                    <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                </behavior>
            </endpointBehaviors>
        </behaviors>
        <bindings>
            <basicHttpBinding>
                <!-- For proxied testing
        <binding name="RequestProcessorBinding" proxyAddress="http://127.0.0.1:8888" bypassProxyOnLocal="false" useDefaultWebProxy="false" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" receiveTimeout="00:30:00" sendTimeout="00:30:00">
        -->
                <!-- For direct connection-->
                <!-- closeTimeout will determine the amount of time a request can take to complete and respond -->
                <binding name="RequestProcessorBinding" bypassProxyOnLocal="false" useDefaultWebProxy="false" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" openTimeout="00:01:00" closeTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00">
                    <readerQuotas maxDepth="32000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
                    <security mode="Transport" />
                </binding>
                <binding name="basicHttpStream" transferMode="Streamed">
                    <security mode="Transport" />
                </binding>
                <binding name="httpLargeMessageStream" transferMode="Streamed" maxReceivedMessageSize="4294967295">
                    <security mode="Transport" />
                </binding>
            </basicHttpBinding>
            <webHttpBinding>
                <binding name="webHttpStream" transferMode="Streamed" maxBufferSize="2147483647" maxReceivedMessageSize="4294967295">
                    <security mode="Transport" />
                </binding>
            </webHttpBinding>
        </bindings>
        <client>
            <endpoint address="https://hessda-fairfield.healthcloudservice.co.uk/Service.svc" binding="basicHttpBinding" bindingConfiguration="RequestProcessorBinding" behaviorConfiguration="RequestProcessorBehavior" contract="Agatha.Common.WCF.IWcfRequestProcessor" name="Agatha_IWcfRequestProcessor" />
            <endpoint address="https://hessda-fairfield.healthcloudservice.co.uk/UploadMediaService.svc" binding="basicHttpBinding" bindingConfiguration="httpLargeMessageStream" contract="UploadMediaService.IUploadMediaService" name="basicHttpStream" />
            <endpoint address="https://hessda-fairfield.healthcloudservice.co.uk/DownloadMediaService.svc" binding="webHttpBinding" bindingConfiguration="webHttpStream" behaviorConfiguration="webHttpBehavior" contract="DownloadMediaService.IDownloadMediaService" name="webHttpStream" />
        </client>
    </system.serviceModel>
    <appSettings>
        <clear />
        <add key="ApplicationVersion" value="14.13.3" />
        <add key="ClientSettingsProvider.ServiceUri" value="" />
        <add key="supportContactName" value="Health Edge helpdesk" />
        <add key="supportContactPhone" value="(01454) 315178" />
        <add key="supportContactEmail" value="support@health-edge.co.uk" />
        <add key="supportTime" value="Mon-Fri 9am-5pm" />
        <add key="supportIsHealthEdge" value="true" />
    </appSettings>
    <system.web>
        <membership defaultProvider="ClientAuthenticationMembershipProvider">
            <providers>
                <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
            </providers>
        </membership>
        <roleManager defaultProvider="ClientRoleProvider" enabled="true">
            <providers>
                <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
            </providers>
        </roleManager>
    </system.web>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Castle.Windsor" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ReportViewer.WinForms" publicKeyToken="89845dcd8080cc91" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>