.NET Framework 4.7 New Features and Improvements


The .NET Framework 4.7 builds on the .NET Framework 4.6, 4.6.1, and 4.6.2 by adding many new fixes and several new features while remaining a very stable product.

.NET Framework 4.7 released officially on 5th April 2017 with added support for targeting the framework in Visual Studio 2017.  You can download the .NET Framework 4.7 from the following locations:

The .NET Framework 4.7 can be installed on Windows 10, Windows 8.1, Windows 7, and the corresponding server platforms starting with Windows Server 2008 R2 SP1. You can install the .NET Framework 4.7 by using either the web installer or the offline installer. The recommended way for most users is to use the web installer.

You can target the .NET Framework 4.7 in Visual Studio 2012 or later by installing the .NET Framework 4.7 Developer Pack.

The .NET Framework 4.7 includes new features in the following areas:

  • Core

    • Enhanced functionality with Elliptic Curve Cryptography (ECC)*

      In the .NET Framework 4.7, ImportParameters(ECParameters) methods were added to the ECDsaand ECDiffieHellman classes to allow for an object to represent an already-established key. An ExportParameters(Boolean) method was also added for exporting the key using explicit curve parameters.

      The .NET Framework 4.7 also adds support for additional curves (including the Brainpool curve suite), and has added predefined definitions for ease-of-creation through the new Create and Create factory methods.

      You can see an example of .NET Framework 4.7 cryptography improvements on GitHub.

    • Better support for control characters by the DataContractJsonSerializer

      In the .NET Framework 4.7, the DataContractJsonSerializer serializes control characters in conformity with the ECMAScript 6 standard. This behavior is enabled by default for applications that target the .NET Framework 4.7, and is an opt-in feature for applications that are running under the .NET Framework 4.7 but target a previous version of the .NET Framework. For more information, see Retargeting Changes in the .NET Framework 4.7.

  • Networking

    • Default operating system support for TLS protocols*

      The TLS stack, which is used by System.Net.Security.SslStream and up-stack components such as HTTP, FTP, and SMTP, allows developers to use the default TLS protocols supported by the operating system. Developers need no longer hard-code a TLS version.


    • Object Cache Extensibility

      ASP.NET adds a new set of APIs that allow developers to replace the default ASP.NET implementations for in-memory object caching and memory monitoring. Developers can now replace any of the following three components if the ASP.NET implementation is not adequate:

      • Object Cache Store. By using the new cache providers configuration section, developers can plug in new implementations of an object cache for an ASP.NET application by using the new ICacheStoreProvider interface.
      • Memory monitoring. The default memory monitor in ASP.NET notifies applications when they are running close to the configured private bytes limit for the process, or when the machine is low on total available physical RAM. When these limits are near, notifications are fired. For some applications, notifications are fired too close to the configured limits to allow for useful reactions. Developers can now write their own memory monitors to replace the default by using the ApplicationMonitors.MemoryMonitor property.
      • Memory Limit Reactions. By default, ASP.NET attempts to trim the object cache and periodically call GC.Collect when the private byte process limit is near. For some applications, the frequency of calls to GC.Collect or the amount of cache that is trimmed are inefficient. Developers can now replace or supplement the default behavior by subscribing IObserver implementations to the application’s memory monitor.
  • Windows Communication Foundation (WCF)

    • Ability to configure the default message security settings to TLS 1.1 or TLS 1.2

      WCF allows you to configure TSL 1.1 or TLS 1.2 in addition to SSL 3.0 and TSL 1.0 as the default message security protocol. This is an opt-in setting; to enable it, you must add the following entry to your application configuration file:

         <AppContextSwitchOverrides value="Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols=false;Switch.System.Net.DontEnableSchUseStrongCrypto=false" /> 
    • Improved reliability of WCF applications and WCF serialization

      WCF includes a number of code changes that eliminate race conditions, thereby improving improving performance and the reliability of serialization options. These include:

      • Better support for mixing asynchronous and synchronous code in calls to SocketConnection.BeginRead and SocketConnection.Read.
      • Improved reliability when aborting a connection with SharedConnectionListener and DuplexChannelBinder.
      • Improved reliability of serialization operations when calling the FormatterServices.GetSerializableMembers(Type) method.
      • Improved reliability when removing a waiter by calling the ChannelSynchronizer.RemoveWaiter method.
  • Windows Forms

    • High DPI support

      Features high DPI and dynamic DPI support for Windows Forms applications. High DPI support improves the layout and appearance of forms and controls on high DPI monitors. Dynamic DPI changes the layout and appearance of forms and controls when the user changes the DPI or display scale factor of a running application.

      High DPI support is an opt-in feature that you configure by defining a <System.Windows.Forms.ConfigurationSection> section in your application configuration file. For more information on adding high DPI support and dynamic DPI support to your Windows Forms application, see High DPI Support in Windows Forms.

  • Windows Presentation Foundation (WPF)

References :  Microsoft Docs

Leave A Reply

Your email address will not be published.