WCF enables you to change the binding of an existing endpoint. You can also add multiple endpoints that use various bindings to your WCF configuration
The following describes the three categories of bindings that are available in WCF.
An endpoint that is exposed by a Windows Communication Foundation (WCF) service enables you to specify the address that client applications can use to access the service, the requirements of the binding that a client application must meet, and the contract that defines the operations
You can use MTOM and streaming to transfer large amounts of binary data in a WCF solution in an efficient way. The following table describes MTOM and streaming, and their suitability. For more information, see Large Data and Streaming.
By using streaming, the receiver can start to receive the streamed data before the sender finishes sending it. When you use streaming, WCF transmits the stream in manageable chunks to the receiver so that neither the sender nor the receiver needs to employ a very large buffer to hold the whole message.
MTOM is a specification that enables you to transmit binary data in a WCF solution. When you use MTOM to transmit binary data, the data is not encoded into a different format, but transmitted as raw binary data in a Multipurpose Internet Mail Extension (MIME) message attachment.
Sending and receiving binary data has traditionally been a problem when implementing SOAP messaging, primarily because XML is a text-oriented encoding mechanism.
Sessions or ongoing connections of any form can reduce the ability to perform load balancing and failover. As a WCF developer, you must consider the use of sessions when you are using instance context modes and transport sessions.
Call or session throttling can reduce the number of instances or threads regardless of the instance or threading mode that is currently set. However, instance and threading modes can keep the number of instances or threads well below the throttling limits for instances or calls.
You can restrict, or throttle, access to a service by limiting the number of concurrent calls that the service accepts. This can help ensure that the service always contains enough resources to process calls with acceptable response times.