In this article, we will have a look into new and important features in major versions of Windows Communication Foundation starting from WCF 3.5 to WCF 4.5.
What’s new in WCF3.5?
- WCF support for REST Style Services by introducing Web programming model using rich features of HTTP instead of just a transport.
- In order to build Workflow Services, WCF 3.5 supports integration with WF (Windows Workflow Foundation).
- Using framework 3.5, now we can build AJAX-enabled WCF Services.
- It’s possible to build services using WCF 3.5 that can be easily persisted and reloaded again. Such services are called Durable Services.
- To make WCF Services Interoperable, v3.5 is align with standards like WS-Trust, WS-SecurityPolicy, Web Service Reliable Messaging and Web Service Atomic Transaction etc.
- In order to process Syndication feeds, WCF now supports a strongly typed object model.
- For applications those are configured with a trust level other than Full are called Partial Trust Applications. Such Partial trust applications can use limited features of WCF now
With WCF v3.5 SP1, more features introduced
- Scalability in web-hosted applications.
- Improvements with DataContract serializer.
- For Partial Trust application scenarios, further improved debugging support.
- Using ADO.NET Entity Framework entities in WCF Contracts.
What’s new in WCF 4.0?
- WCF Configuration has been simplified by introducing default endpoints, binding and behavior configuration. Now its not necessary to provide an endpoint while hosting a WCF service, it will be created automatically. And we can have configuration free services as well.
- REST Improvements like Help page and declarative HTTP caching.
- Discovery Alignment with standard like WS-Discovery protocol. A client can dynamically identify the service if a service endpoint address is changing.
- Routing A configurable routing service is introduced providing features like content-based routing, protocol bridging and error handling previously included with Dublin.
- Workflow v4.0 further enhances support for integrating WCF with WF. Now workflow service can be hosted from .xamlx file without .svc file.
What’s new in WCF v4.5?
- Simplified Generated Configuration files, generated configuration file on client will only have non-default binding configuration.
- Validating WCF Configuration is now part of v4.5. While compiling if there are some validation errors with configuration file, it will be displayed as warnings in Visual Studio.
- WCF 4.5 support for Task-based Asynchronous programming model.
- Contract First Development is now supported. Only contract will be generated in service.cs, if we use SvcUtil.exe with “/ServiceContract” switch while generating proxy.
- ASP.NET Compatibility Mode changed to enable WCF service to participate in ASP.NET Pipeline just like ASMX services.
- Tooltip and intellisense support in Configuration files.
- XmlDictionaryReaderQuotas default values has been changed.
- v4.5 allows to create an endpoint that supports Multiple Authentication Types.
- Automatic HTTPS endpoints in IIS.
- Improvements in Streaming, support for real asynchronous streaming, no blockage of one thread per client as with previous versions.
- Support for UDP transport, using UDP one way messages are very fast.
- BasicHttpsBinding, new security configuration option.
- In order to have bidirectional communication with better performance like TCP, WebSocket is the right choice.
- WCF v4.5 introduces NetHttpBinding and NetHttpsBinding bindings for supporting WebSockets.
- Single WSDL Document, now we can create WSDL information in one file.
- IDN (Internationalized Domain Names) support means WCF Service can be called using IDN names by client.
- Compression support is now available for Binary Encoder in WCF 4.5 through CompressionFormat property.
- ChannelFactory Cache, WCF 4.5 now support for caching Channel Factories to reduce overhead associated while creating a ChannelFactory instance.
- WCF Service can be configured using config file or through code. In v4.5, configuration through code has been simplified by defining a public static method (i.e. configure) instead of creating a ServiceHostFactory.
© 2015, admin. All rights reserved.
Reference books, you may like:Programming WCF Services: Design and Build Maintainable Service-Oriented Systems
WCF Multi-Layer Services Development with Entity Framework, 4th Edition
Learning WCF: A Hands-on Guide