Exciting day today with the RTM release of Visual Studio 2012, .NET 4.5 and Windows 8 making their way onto MSDN for Subscribers. I suspect the release will start to show up once the west coast of the US wakes up and gets to work pressing the button.

Information

  • Out parameters and LINQ do not mix – Eric Lippert returns from his holidays with a discussion of the use of out parameters with LINQ and how you should always avoid side effects in LINQ queries
  • Out of Order Execution and Memory Models – Sasha Goldshtein discusses how the order of execution of the code you write is not guaranteed with both compilers and processors being free to re-order the execution of instructions, and the complications that gives for multithreaded code.
  • Performance Tips: Faster than StringBuilder? – Feng Yuan continues his series looking at the performance of string operations, discussing how string.Join gives better performance than a StringBuilder when merging full strings.
  • Showing files with pending changes or files that are open in Visual Studio 2012 Solution Explorer – Charles Sterling shares a neat Visual Studio 2012 tip for finding files with pending changes or open files in the Solution Explorer
  • Testing routes in ASP.NET Web API – Filip W discusses the testing of your route implementations in ASP.NET WebAPI based code, reminding us that in simple situations you probably don’t need to test this stuff, before moving on to look at how you can test when you are doing more complicated things.
  • The ASP.NET Forms Authentication replacement Microsoft doesn't want you to see
    – The folks over at AppHarbor highlight a previously removed post where they shared their own implementation of ASP.NET Forms Authorization. Their implementation works a bit differently from the built in ASP.NET implementation, and is open sourced on GitHub
  • Caching LINQ Results – Chris Eargle discusses three key concepts to understand when working with LINQ, the conepts of Delayed Execution, Materialization and Memoization, looking at how the correct choice of technique effects how your code works.