Microsoft has released the newest version of Visual Studio, Visual Studio 2015 Preview, along with .NET Framework 4.6. The newer version of the .NET Framework was introduced 12-13 of Nov 2014. The old version of .NET 4.5.3 will be updated to 4.6 before the final version ships. The .NET Framework 4.6 is highly compatible in comparison to the older version like .NET Framework 4, .NET Framework 4.5, .NET Framework 4.5.1, .NET Framework 4.5.2.
With the release of .NET 5, the Microsoft development ecosystem is going to experience quite a bit of change. The latest version of the widely popular runtime framework was a complete re-write of .NET from the ground-up. This project was undertaken to accomplish various architectural goals (i.e. cross platform applications, increased modularity etc.), provide additional flexibility to its developers and ultimately provide the best possible technology for building modern web applications.
Many of these changes revolved around the familiar System.Web.dll, which is a core component of Web Forms and an integral part of web development within the .NET framework. The rewrite removed this dependency and introduced all kinds of new revolutionary features for more recent technologies like ASP.NET MVC, but it essentially removed the core component of Web Forms and left it with an uncertain future.
This scenario probably sounds a bit scary for Web Forms developers. Why would Microsoft seemingly abandon its most mature and widely used development technology? The answer is that they aren’t. While everyone has been discussing the new changes in .NET 5, Microsoft has also been hard at work developing .NET 4.6, another version of the framework to continue to support and improve Web Forms moving forward.
Improvements in ASP.NET 4.6
There are several new features available for Web Forms within .NET 4.6 that will focus on improving performance, development time and efficiency within Web Forms applications. Some of the features that will be focused on within this article include:
Changes in Base Class Library
So many new APIs have been added to this new .NET Framework to enable key scenarios, especially for the Cross-Platform environment. Microsoft has made the following changes:
- The CultureInfo.CurrentCulture and CultureInfo.CurrentUICulture properties are now read-write rather than read-only. If you assign a new CultureInfo object to these properties, the current thread culture defined by the Thread.CurrentThread.CurrentCulture property and the current UI thread culture defined by the Thread.CurrentThread and CurrentUICulture properties also change.
The preceding program the gets error that we can’t make the assignment, it is read only but in the .Net Framework 4.6 it’s not an error because this property is now read write.
- Additional collections implement ReadOnlyCollection<T> such as Queue<T> and Stack<T>. It implement System.Collections.ObjectModel.ReadOnlyCollection, including System.Collections.Generic.Queue and System.Collections.Generic.Stack.
- Additional members support the task-based asynchronous pattern (TAP) such as Task.CompletedTask and NamedPipeClientStream.ConnectAsync.
Support for code page encodings
The core .NET Framework primarily supports Unicode encodings and by default it provides limited support for code page encodings. We can add support for code page encodings that are available in the .NET Framework but unsupported in .NET Core by registering code page encodings with the Encoding.RegisterProvider method. So we will use the namespace System.Text.CodePagesEncodingProvider. So to make these code pages available to .NET Framework 4.6 Preview use these additional code pages, do the following assemblies reference to our project.
- Add a reference to the System.Text.Encoding.CodePages.dll assembly to your project.
- Retrieve a CodePagesEncodingProvider object from the static Instance property.
- Pass the CodePagesEncodingProvider object to the Encoding.RegisterProvider method.
The .NET Framework for the Windows Desktop supports a large set of Unicode and code page encodings. On the other hand, .NET Framework 4.6 Preview supports only the following encodings:
- ASCII (code page 20127)
- ISO-8859-1 (code page 28591)
- UTF-7 (code page 65000)
- UTF-8 (code page 65001)
- UTF-16 and UTF-16LE (code page 1200)
- UTF-16BE (code page 1201)
- UTF-32 and UTF-32LE (code page 12000)
- UTF-32BE (code page 12001)
Immutable Collections and SIMD APIs
Where Immutable Collection is a common approach to use an immutable state that can be passed freely among multiple threads. Immutable collections are different from read-only collections in the sense that unlike read-only collections, they cannot be changed by the provider or consumer of the collection. For example, if you are enumerating a read-only collection, there is a possibility that the collection can be changed on another thread, causing data corruption. This scenario can’t occur if you are using an immutable collection. With an Immutable Collection you can do the following.
GitHub is a repository that contains the foundation libraries that make up the .NET Core development stack as in the following:
- Share a collection in such a way that its consumer can be assured that the collection will never change.
- Provide implicit thread safety in multi-threaded applications. No locks required to access collections.
- Follow functional programming practices.
- Modify a collection during enumeration, while ensuring that the original collection does not change.
Improvements to event tracing
An EventSource object can now be constructed directly and you can call one of the Write() methods to emit a self-describing event.
using System.Diagnostics.Tracing //Assembly: mscorlib (in mscorlib.dll) public void Write<T>( string eventName, T data )
In the above example code:
T is the type that defines the event and its associated data. This type must be an anonymous type or marked with the EventSourceAttribute attribute, eventName is the name of event and data is the object of type T
.Net Native
It is a pre-compilation technology for building and deploying Windows Store apps. It compiles apps that are written in managed code (Like Visual C#) and that target the .NET Framework to native code. It is quite different from Just-In-Time (JIT) as well as the Native Image Generator (NGEN). Basically the .Net Native tool chain converts source code to native code at compile time while JIT is responsible for compiling the IL code to native code (machine specific code). Let’s see the brief comparison with JIT and NGEN as well.
The .NET Native tool chain begins execution when the C# compiler has finished compilation of a Windows Store app. In another words, we can say that the input for the .NET Native is the Windows Store app built by the C# compiler. .NET Native compiles an entire application to a native application. It does not allow you to compile a single assembly that contains a class library to native code so that it can be called independently from managed code. The NGEN compiles assemblies to native code and installs them in the native image cache on the local computer, whereas .NET Native produces native code.
Hosting Recommendation for ASP.NET 4.6
Choosing a cheap and best asp.net 4.6 hosting is not that easy, since it does have many scam and rubbish asp web hosts there and lots of the reviews websites cannot give you the right information.
Due to the fact of expensive Windows license, finding a best and cheap ASP.NET 4.6 hosting doesn’t take easy as Linux hosting service. After reviewed 30+ cheap ASP.NET hosting providers, we had come out a list of the cheap ASP.NET hosting providers.
Cheap ASP.NET 4.6 Hosting with ASPHostPortal
ASPHostPortal.com has 4 favorite ASP.NET hosting plans named Host Intro, Host One, Host Two, and Host Three, among which the Host One plan is regarded as the best deal. ASPHostPortal Host One plan is priced at $5.00/mo.
For customers who need a shorter term, ASPHostPortal also allows quarterly billing to make sure that they can enjoy the best ASP.NET hosting services without worrying about the security of their purchase.
ASPHostPortal Host One plan offers 5 GB disk space, 60 GB bandwith, 2 MS SQL and 3 MySQL. These resources are sufficient for a small to medium sized ASP.NET website with up to 500 daily page views. Running on the latest Windows 2012/Windows 2008 with isolated application pools and full trust allowed, all customers’ websites are guaranteed to gain best performance.
ASPHostPortal guarantees 30 days money back. Hence, every ASPHostPortal customer has the right to ask full refund within the first 30 days. The company also promises no hidden fees added to customers’ accounts.
Cheap ASP.NET Hosting in Europe – HostForLIFEASP.NET
HostForLIFEASP.NET is the most budget ASP.NET hosting provider we have reviewed. Founded in 2008, the company is now serving for over 20,000 ASP.NET websites with its budget-saving ASP.NET web hosting plans and cutting-edge Microsoft technologies.
HostForLIFEASP.NET has 4 ASP.NET hosting plans named Classic, Budget, Economy and Business, among which the Classic plan is regarded as the best deal. HostForLIFEASP.NET Classic plan is priced at €3.00/mo.
For customers who need a shorter term, HostForLIFEASP.NET also allows quarterly billing to make sure that they can enjoy the best ASP.NET hosting services without worrying about the security of their purchase.
HostForLIFEASP.NET offers unlimited disk space, unlimited bandwith, 1 MS SQL and 1 MySQL. These resources are sufficient for a small to medium sized ASP.NET website with up to 600 daily page views. Running on the latest Windows 2012/Windows 2008 with isolated application pools and full trust allowed, all customers’ websites are guaranteed to gain best performance.
[crp]