<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="TwinCAT.Ads.Wcf.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
    </sectionGroup>
  </configSections>
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="MaxConcurrenceBehavior" name="TwinCAT.Ads.Wcf.TcAdsService">

        <endpoint address="UnsecPollingDuplex3" binding="customBinding" bindingConfiguration="UnsecurePollingDuplex3BindingConfig" name="UnsecPollingDuplex3Endpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="SecPollingDuplex3" binding="customBinding" bindingConfiguration="SecurePollingDuplex3BindingConfig" name="SecPollingDuplex3Endpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="UnsecPollingDuplex4" binding="customBinding" bindingConfiguration="UnsecurePollingDuplex4BindingConfig" name="UnsecPollingDuplex4Endpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="SecPollingDuplex4" binding="customBinding" bindingConfiguration="SecurePollingDuplex4BindingConfig" name="SecPollingDuplex4Endpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="SecWsDualHttp" binding="wsDualHttpBinding" bindingConfiguration="SecureWsDualHttpBindingConfig" name="SecWsDualHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="UnsecWsDualHttp" binding="wsDualHttpBinding" bindingConfiguration="UnsecureWsDualHttpBindingConfig" name="UnsecWsDualHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="UnsecNetTcp" binding="netTcpBinding" bindingConfiguration="UnsecureNetTcpBindingConfig" name="UnsecNetTcpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="SecNetTcp" binding="netTcpBinding" bindingConfiguration="SecureNetTcpBindingConfig" name="SecNetTcpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceDuplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceDuplex"/>

        <endpoint address="SecBasicHttp" binding="basicHttpBinding" bindingConfiguration="SecureBasicHttpBinding" name="SecBasicHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceSimplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceSimplex"/>

        <endpoint address="UnsecBasicHttp" binding="basicHttpBinding" bindingConfiguration="UnsecureBasicHttpBinding" name="UnsecBasicHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceSimplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceSimplex"/>

        <endpoint address="SecWebHttp" binding="webHttpBinding" behaviorConfiguration="ScriptEnableBehavior" bindingConfiguration="SecureWebHttpBinding" name="SecWebHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceSimplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceSimplex"/>

        <endpoint address="UnsecWebHttp" binding="webHttpBinding" behaviorConfiguration="ScriptEnableBehavior" bindingConfiguration="UnsecureWebHttpBinding" name="UnsecWebHttpEndpoint" contract="TwinCAT.Ads.Wcf.ITcAdsServiceSimplex" bindingNamespace="http://beckhoff.com/TwinCAT/Ads/Wcf/TcAdsServiceSimplex"/>

        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>

        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8003/TwinCAT/Ads/Wcf/TcAdsService"/>
            <add baseAddress="https://localhost:8002/TwinCAT/Ads/Wcf/TcAdsService"/>
            <add baseAddress="net.tcp://localhost:4508/TwinCAT/Ads/Wcf/TcAdsService"/>
          </baseAddresses>
        </host>
      </service>
      <service behaviorConfiguration="TwinCAT.Ads.Wcf.ClientAccessPolicyProviderBehavior" name="TwinCAT.Ads.Wcf.ClientAccessPolicyProvider">
        <endpoint address="http://localhost:8003/" binding="webHttpBinding" bindingConfiguration="UnsecureWebHttpBinding" contract="TwinCAT.Ads.Wcf.IClientAccessPolicyProvider" behaviorConfiguration="HttpEnableBehavior"/>
        <endpoint address="https://localhost:8002/" binding="webHttpBinding" bindingConfiguration="SecureWebHttpBinding" contract="TwinCAT.Ads.Wcf.IClientAccessPolicyProvider" behaviorConfiguration="HttpEnableBehavior"/>
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="SecureBasicHttpBinding" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" messageEncoding="Text">
          <security mode="Transport">
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
        <binding name="UnsecureBasicHttpBinding" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" messageEncoding="Text">
          <security mode="None"/>
        </binding>
      </basicHttpBinding>
      <wsDualHttpBinding>
        <binding name="SecureWsDualHttpBindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" messageEncoding="Text">
          <security mode="Message">
            <message clientCredentialType="Windows"/>
          </security>
        </binding>
        <binding name="UnsecureWsDualHttpBindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" messageEncoding="Text">
          <security mode="None"></security>
        </binding>
      </wsDualHttpBinding>
      <customBinding>
        <binding name="SecurePollingDuplex3BindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10">
          <binaryMessageEncoding/>
          <pollingDuplex3 maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:00:10"/>
          <httpsTransport transferMode="StreamedResponse" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" proxyAuthenticationScheme="Ntlm" authenticationScheme="Ntlm"/>
        </binding>
        <binding name="UnsecurePollingDuplex3BindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10">
          <binaryMessageEncoding/>
          <pollingDuplex3 maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:00:10"/>
          <httpTransport transferMode="StreamedResponse" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
        </binding>
        <binding name="SecurePollingDuplex4BindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10">
          <binaryMessageEncoding/>
          <pollingDuplex4 duplexMode="MultipleMessagesPerPoll" maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:00:10" maxOutputDelay="00:00:00.2000000"/>
          <httpsTransport transferMode="StreamedResponse" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" proxyAuthenticationScheme="Ntlm" authenticationScheme="Ntlm"/>
        </binding>
        <binding name="UnsecurePollingDuplex4BindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10">
          <binaryMessageEncoding/>
          <pollingDuplex4 duplexMode="MultipleMessagesPerPoll" maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:00:10" maxOutputDelay="00:00:00.2000000"/>
          <httpTransport transferMode="StreamedResponse" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
        </binding>
      </customBinding>
      <netTcpBinding>
        <binding name="UnsecureNetTcpBindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxConnections="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" listenBacklog="2147483647" maxBufferPoolSize="2147483647">
          <security mode="None"></security>
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
        </binding>
        <binding name="SecureNetTcpBindingConfig" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxConnections="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" listenBacklog="2147483647" maxBufferPoolSize="2147483647">
          <security mode="Transport">
            <transport clientCredentialType="Windows"/>
          </security>
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
        </binding>
      </netTcpBinding>
      <webHttpBinding>
        <binding name="SecureWebHttpBinding" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
          <security mode="Transport">
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
        <binding name="UnsecureWebHttpBinding" openTimeout="00:00:10" closeTimeout="00:00:10" receiveTimeout="02:00:00" sendTimeout="00:00:10" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
          <security mode="None"/>
        </binding>
      </webHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MaxConcurrenceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
          <serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="100" maxConcurrentInstances="100"/>
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
        <behavior name="TwinCAT.Ads.Wcf.ClientAccessPolicyProviderBehavior">
          <serviceMetadata httpGetEnabled="false"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="HttpEnableBehavior">
          <webHttp/>
        </behavior>
        <behavior name="ScriptEnableBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <extensions>
      <bindingElementExtensions>
        <add name="pollingDuplex3" type="System.ServiceModel.Configuration.PollingDuplexElement, System.ServiceModel.PollingDuplex, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="pollingDuplex4" type="System.ServiceModel.Configuration.PollingDuplexElement, System.ServiceModel.PollingDuplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </bindingElementExtensions>
    </extensions>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="True"/>
  </system.serviceModel>
  <userSettings>
    <TwinCAT.Ads.Wcf.Properties.Settings>
      <setting name="LogLevel" serializeAs="String">
        <value>none</value>
      </setting>
      <setting name="LogFilePath" serializeAs="String">
        <value></value>
      </setting>
    </TwinCAT.Ads.Wcf.Properties.Settings>
  </userSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
