Jump to: navigation, search

Difference between revisions of "Configuration Files/Bindings.config"


 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Bindings (provides different configurations for data services and endpoints specified by the name which then is used in the service/client configuration). See [http://msdn.microsoft.com/en-us/library/ms733099%28v=vs.110%29.aspx Details] for further information and [http://msdn.microsoft.com/en-us/library/hh924831%28v=vs.110%29.aspx Configuring Timeout Values on a Binding] for information about Timeout configuration.
+
== Bindings.config ==
 +
In this file the bindings can be configured to provide different configurations for data services and endpoints - specified by the name, which then is used in the service/client configuration.
  
<syntaxhighlight lang="xml">
+
===Configuration===
<system.serviceModel>
+
See [http://msdn.microsoft.com/en-us/library/ms733099%28v=vs.110%29.aspx Configuring Bindings for Windows Communication Foundation Services] for further details and [http://msdn.microsoft.com/en-us/library/hh924831%28v=vs.110%29.aspx Configuring Timeout Values on a Binding] for information about timeout configuration.
  ...  
+
 
  <bindings>
+
====Download large data branches====
    <webHttpBinding>
+
If the service has to support the streaming transfer mode - e.g. used for downloading large data branches in the UBIK client, ensure to provide the binding definition for "BasicHttpBinding_UBIKContent" (see example). The client setting "[[Settings#WinX|ContentServiceConfig]]" should be set accordingly.
      <binding transferMode="Streamed" name="WebHttpBinding_UBIKContent" sendTimeout="00:05:00" maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864" maxBufferSize="67108864" receiveTimeout="01:00:00">
+
 
        <security mode="Transport">
+
====Upload of large files====
          <transport clientCredentialType="None"/>
+
For security reasons, we allow uploading files with a size of 2000000 Bytes (2MB). To increase the size the attributes '''maxBufferPoolSize''', '''maxReceivedMessageSize''', '''maxBufferSize''', '''maxStringContentLength''', '''maxArrayLength''', '''maxBytesPerRead''', '''maxNameTableCharCount''' must be adapted in their respective tags '''webHttpBinding'',  ''basicHttpBinding''', and '''wsHttpBinding'''.
        </security>
+
 
      </binding>
+
{{Hint|The relevant settings for uploading large files are handled in Bytes.}}
    </webHttpBinding>
+
{{Attention|The [[Configuration_Files/web.config#Upload_of_large_files]] must also be adapted otherwise, the upload will fail.}}
    <basicHttpBinding>
+
 
      <binding name="BasicHttpBinding_IUSAM" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+
{{Attention|If you are using Windows Internet Information Services (IIS), the maximum upload file size must be reconfigured in IIS otherwise the upload will fail. [[HowTo:Configure_Microsoft_IIS_for_UBIK#Configure_Upload_of_large_files]]}}
    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
+
 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
+
===== Example Upload of files with 200MB Size=====
        <security mode="None">
+
<source lang="XML">
          <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
+
<wsHttpBinding>
          <message clientCredentialType="UserName" algorithmSuite="Default"/>
+
    <binding  
        </security>
+
            name="WSHttpBinding"  
      </binding>
+
            sendTimeout="00:05:00"  
    </basicHttpBinding>
+
            maxBufferPoolSize="200000000"  
    <wsHttpBinding>
+
            maxReceivedMessageSize="200000000"  
      <binding name="WSHttpBinding_IUSAM" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+
            receiveTimeout="01:00:00">
    maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
+
         <readerQuotas  
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
+
                maxDepth="32"  
        <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
+
                maxStringContentLength="200000000"  
        <security mode="Transport">
+
                maxArrayLength="200000000"  
          <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
+
                maxBytesPerRead="200000000"  
          <message clientCredentialType="Windows" negotiateServiceCredential="true"/>
+
                maxNameTableCharCount="200000000"/>
        </security>
+
      </binding>
+
      <binding name="WSHttpBinding_UBIKContent" maxReceivedMessageSize="67108864" receiveTimeout="01:00:00">
+
 
         <security mode="Transport">
 
         <security mode="Transport">
          <transport clientCredentialType="None"/>
+
            <transport clientCredentialType="None"/>
 
         </security>
 
         </security>
      </binding>
+
    </binding>
      <binding name="WSHttpBinding_IUBIKPush">
+
    <binding name="WSHttpBinding_IUBIKPush">
 
         <security mode="Transport">
 
         <security mode="Transport">
          <transport clientCredentialType="None" />
+
            <transport clientCredentialType="None"/>
 
         </security>
 
         </security>
      </binding>
+
    </binding>
    </wsHttpBinding>
+
</wsHttpBinding>
  </bindings>
+
</source>
  ...
+
</system.serviceModel>
+
</syntaxhighlight>
+
  
 
== See also ==
 
== See also ==
 
* [[Configuration Files]]
 
* [[Configuration Files]]
  
[[Category:Installing]]
+
[[Category:Installing|Configuration Files/Bindings.config]]

Latest revision as of 09:48, 25 April 2024

Bindings.config

In this file the bindings can be configured to provide different configurations for data services and endpoints - specified by the name, which then is used in the service/client configuration.

Configuration

See Configuring Bindings for Windows Communication Foundation Services for further details and Configuring Timeout Values on a Binding for information about timeout configuration.

Download large data branches

If the service has to support the streaming transfer mode - e.g. used for downloading large data branches in the UBIK client, ensure to provide the binding definition for "BasicHttpBinding_UBIKContent" (see example). The client setting "ContentServiceConfig" should be set accordingly.

Upload of large files

For security reasons, we allow uploading files with a size of 2000000 Bytes (2MB). To increase the size the attributes maxBufferPoolSize, maxReceivedMessageSize, maxBufferSize, maxStringContentLength, maxArrayLength, maxBytesPerRead, maxNameTableCharCount must be adapted in their respective tags webHttpBinding, basicHttpBinding, and wsHttpBinding.

IC Hint square.pngThe relevant settings for uploading large files are handled in Bytes.
IC Attention.pngThe Configuration Files/web.config must also be adapted otherwise, the upload will fail.
IC Attention.pngIf you are using Windows Internet Information Services (IIS), the maximum upload file size must be reconfigured in IIS otherwise the upload will fail. Configure Microsoft IIS for UBIK
Example Upload of files with 200MB Size
<wsHttpBinding>
    <binding
           name="WSHttpBinding"
           sendTimeout="00:05:00"
           maxBufferPoolSize="200000000"
           maxReceivedMessageSize="200000000"
           receiveTimeout="01:00:00">
        <readerQuotas
               maxDepth="32"
               maxStringContentLength="200000000"
               maxArrayLength="200000000"
               maxBytesPerRead="200000000"
               maxNameTableCharCount="200000000"/>
        <security mode="Transport">
            <transport clientCredentialType="None"/>
        </security>
    </binding>
    <binding name="WSHttpBinding_IUBIKPush">
        <security mode="Transport">
            <transport clientCredentialType="None"/>
        </security>
    </binding>
</wsHttpBinding>

See also