What's the new from ASP.NET?  Noting that the 32-bit edit & continue was released in 2005,  that the 64-bit equivalent is part of ASP.NET 4.5.1.  The functionality is exactly the same as in the 32-bit version.Next, but it has the new ability to inspect method return values.  This can be done in the Visual Studio’s “Autos” window or in the immediate window.


The return value can be expanded in the debugger so that the current value can be viewed.  The debugging of asynchronous code is made easier with improvements to the usability of the Call Stack and Tasks Window for apps targeting the Windows Store, Web Apps, and Windows 8.1 Desktop Apps.That isn’t the only improvement for Windows Store apps, as now developers can convert Convert System.IO.Stream to IRandomAccessStream.  Enhancements have also been made to WinRT’s type system (through introduction of nullable value types)  and better exception support (example: System.Exception.Message, System.Exception.StackTrace).  

These new System.Exception properties improve over the Windows 8 experience since previously an attached debugger was necessary to avoid losing information. Whereas previously a broken network connection would lead to exceptions, the new 4.5.1 experience will handle the failure gracefully.  Should the network connection become repaired, the application will identify this and continue working.ASP.NET applications can now be suspended transparently.  The actual ASP.NET worker process is suspended in a ready to go state, with a 90% reduction in startup time.  Once the application has been idle for awhile, it is paged to disk, and then retrieved when a request for the app comes in and/or is made. This functionality can be enabled via IIS Settings by changing Idle Time-out Action to “Suspend”.Under the hood, in .NET 4.5.1, you can now compact the Large Object Heap (LOH) to address heap fragmentation.  

The LOH mode is part of GCSettings, but Heydarian cautions that “with great power comes great responsibility” and that this should never have be used in ordinary development.Improvements have been made to multicore Just-In-Time (JIT) performance, Heydarian stating a 15% performance improvement for cold startups.Another area improved in .NET 4.5.1 is around the behavior of the system after the framework has been updated.  Today servicing the .NET Framework can lead to degradation in app performance directly afterwards.  This is due to core .NET assemblies being JIT-compiled for a period of time after being updated/patched.  In Windows 8.1 app performance remains consistent even after servicing the .NET Framework.  This results in a much better user experience and supports Microsoft’s efforts to provide better battery life on tablets wherever possible.One of the goals Heydarian stated his team has is to do all of the heavy lifting so that the .NET developers all benefit.  Second, he whenever possible he wants the platform’s improvements to benefit developers with minimal (if any) recoding—just better performance.