What’s new in Microsoft .NET Framework 4.7?

.NET Framework is a programming infrastructure created by Microsoft and is used by millions of programmers world wide, programming in popular languages such as C#.

Recently, Microsoft announced the release of .NET Framework 4.7 with some exciting enhancements and improvements. The goal of this article is to list the advantages in upgrading to .NET Framework 4.7.

ASP.NET

.NET Framework 4.7 now provides the ability to fully customize the following components:

  • Memory Monitor - ASP.NET's default memory monitor will fire notifications to the application once the configured amount of private bytes is about to be reached by the process. Also, if the physical RAM is very low, notifications will be fired. Some developers reported applications getting notified to late, and the application doesn't have the time to do something about it. Now you can write your own memory monitor using the ApplicationMonitors.MemoryMonitor property and replace the default one.
  • Object Cache Store - do you want to replace the object cache with your own implementation? Do that with caution. If you still want to do so, you can implement the ICacheStoreProvider interface.
  • Memory Limit Actions - By default, the garbage collector tries to trim the object cache and remove objects once the configured limit of private bytes is about to be reached. Sometimes these actions cause excessive usage of resources, which might be bad for some applications. Now you can write your own logic for the actions you want to be performed when that happens.

Networking

In previous .NET Framework versions, developers had to hard code the TLS version when using System.Net.Security.SslStream, HTTP, FTP and SMTP. No need for that anymore, as in the new version of the framework the application will use the default TLS version from the operating system. The big advantage here is security. From time to time, security vulnerabilities are found in the TLS protocol / implementation. Once that happens, fixes are issued and upgrades are done. New operating systems will contain these by default, and your application will be able to utilize that as well.

Windows Forms

High DPI monitors are now fully supported by Windows Forms. This change will enhance and improve the look and feel of a Windows Forms application, when being viewed on high DPI monitors. Please note that this is an opt-in feature that you should enable in the configuration.

WCF

Finally, you can define the default message security protocol to TLS 1.1 or TLS 1.2, and not only SSL 3.0 or TLS 1.0. This is a very significant security improvement that can keep WCF alive in terms of security.

Also, Microsoft announced several performance and reliability improvements to the WCF infrastructure.

WPF

Some very exciting news for WPF users - the latest framework now supports touch and stylus, which means you can create better applications that can also be used on Tablets, computers with touch screens and other devices with stylus.

Summary

As you probably saw, even though this is not a minor release of the framework, it doesn't include any ground breaking news. Said that, it's important to understand the differences in case you'll need one of them (and in that case, all you need to do is upgrade to the latest .net framework).