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.
The Configuration Files/web.config must also be adapted otherwise, the upload will fail. |
If 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
<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>
Example Version 3.5
...
<bindings>
<webHttpBinding>
<binding transferMode="Streamed" name="WebHttpBinding_UBIKContent" sendTimeout="00:05:00" maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864" maxBufferSize="67108864" receiveTimeout="01:00:00">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</webHttpBinding>
<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"
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"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
<!-- USED FOR STREAMING TRANSFER MODE -->
<binding name="BasicHttpBinding_UBIKContent"
transferMode="Streamed"
sendTimeout="00:05:00"
maxBufferPoolSize="67108864"
maxReceivedMessageSize="67108864"
receiveTimeout="01:00:00">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<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"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="Windows" negotiateServiceCredential="true"/>
</security>
</binding>
<binding name="WSHttpBinding_UBIKContent" maxReceivedMessageSize="67108864" receiveTimeout="01:00:00">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
<binding name="WSHttpBinding_IUBIKPush">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
...
</system.serviceModel>