Thursday, July 19, 2012

.Net 4.5 new features highlight

.Net 4.5 has been released for a month. There are a few interesting findings that would be useful for future work to be noticed.

First, .Net framework 4.5 is only an in-place update. That means when installing 4.5, 4.5 will replace all the assemblies in .net 4.0 and keep the original version number there. Not even like 2.0/3.0/3.5, which is just extension of additional assemblies. There is a good blog discuss the compatbility of .net framework 4.5.

In WCF 4.5,

- add a ?singleWSDL append the svc to to generate metadata in a single WSDL document.
This is very helpful if we need to publish the service to wsdl and distribute it to another team without reference to svc. This happens quite a lot in BizTalk published service

- updates to the XmlDictionaryReaderQuotas class to reduce the likelihood to modify it.
MaxReceivedMessageSize will still need to be set, but all other attributes is max by default.

- Visual studio compiler build will check the service configuration.

- BinaryEncoding now supports compression, this actually provides the best performance that optimized for WCF to WCF communication. So it is not interoperable. MSDN has a detailed document for choosing a message encoder.

- 4.5 add asynchrounous streaming, add the DispatcherSynchronizationBehavior endpoint behavior to the service host and set its AsynchronousSendEnabled property to true.

- When adding service reference, generated client config file will be simplified not specify all the binding attributes.

- The svcutl.exe tool has a /serviceContract switch which allows you to generate service and data contracts from a WSDL document

- Need to have a look this to understand how to access WCF service with Metro style app client

No comments: