No trial. No credit card required. Just your GitHub account.
.NET Blog
Free. Cross-platform. Open source. A developer platform for building all your apps.
Featured posts

Join the .NET & C# Teams at Microsoft Build 2025

The countdown to Microsoft Build 2025 is on! Join us May 19-22 either in-person in Seattle or online and explore an exciting lineup of .NET and C# content, incl...
Latest posts

.NET memory allocation profiling and Tasks

The .NET Framework blog published this morning a guest post from yours truly on .NET Memory Allocation Profiling with Visual Studio 2012. As you're trying to improve the performance, throughput, and memory usage of code that uses Tasks, the described profiler in Visual Studio can be a valuable tool in your tool belt (of course, the example I use in that post to highlight the profiler's capabilities is one that uses Task and async/await). I hope you find the post helpful.

.NET Memory Allocation Profiling with Visual Studio 2012

This post was written by Stephen Toub, a frequent contributor to the Parallel Programming in .NET blog. He shows us how Visual Studio 2012 and an attention to detail can help you discover unnecessary allocations in your app that can prevent it from achieving higher performance. Visual Studio 2012 has a wealth of valuable functionality, so much so that I periodically hear developers that already use Visual Studio asking for a feature the IDE already has and that they’ve just never discovered. Other times, I hear developers asking about a specific feature, thinking it’s meant for one purpose, not realizing it...

The March 6th NuGet Gallery Outage
On March 6th 2013, nuget.org's package download was broken for one and a half hours. Some outages involve factors beyond our control; this time it was very much our own fault and we would like to apologize. We also want to openly discuss the outage and reassure you that we are working on preventing reoccurences. Timeline of events The outage was triggered by the NuGet Gallery crew performing a regular planned upgrade to nuget.org. We had successfully completed the previous production upgrade as recently as 2 weeks prior (in fact we are now shipping code to nuget.org on regular 2-3 weeks intervals). The timeline...

Tasks, Monads, and LINQ

A few years back, Wes Dyer wrote a great post on monads, and more recently, Eric Lippert wrote a terrific blog series exploring monads and C#. In that series, Eric alluded to Task<TResult> several times, so I thought I’d share a few related thoughts on Task<TResult> and the async/await keywords.As both Wes and Eric highlight, a monad is a triple consisting of a type, a Unit function (often called Return), and a Bind function. If the type in question is Task<T>, what are its Unit and Bind functions? The Unit operator takes a T and “amplifies” it into an instance of the type: p...

Tutorial Series on Model Binding with ASP.NET Web Forms
I have written a tutorial series that shows how to use model binding with ASP.NET Web Forms. You might be familiar with the model binding concept from ASP.NET MVC, but with ASP.NET 4.5, model binding is now available in Web Forms applications. Model binding makes it very easy to create and maintain data-rich web pages. A lot of the manual steps of correlating elements with data properties are performed automatically. When you use model binding with dynamic data templates, you can quickly add or revise properties in your data model and those properties are correctly ren...

ASP.NET MVC Facebook Birthday App
Tom Dykstra and I have published a really cool tutorial on creating a MVC FB birthday app. You can test the app out by clicking on the FB link below:https://apps.facebook.com/birthdayapp-mvc/The image below shows the birthday app.Yao Huang Lin is the principal developer for the ASP.NET MVC Facebook library and templates and he also wrote the sample used in this tutorial (so you can be sure it’s using best practices.)The tutorial shows you how to: As always, we appreciate feedback. Follow me ( @RickAndMSFT ) on twitter where I have a no spam guarantee of quality tweets.

Improved search syntax on nuget.org and in NuGet Visual Studio extension
The NuGet team recently deployed a new and very useful search capability on nuget.org, which allows you to narrow your search to a pariticular attribute of a NuGet package. For example, if you want to search for packages which contain 'elmah' within the Id, you type 'id:elmah'. (Note that this will execute a 'contains' search, not an exact match search. Which means it will return elmah, elmah.corelibrary, etc.) Similarly you can use the same syntax to search for other attributes in the package metadata. Here's the complete list of supported attributes: Note that when a search query contains spaces, the galler...

“Invoke the method with await”… ugh!

I can be a bit sensitive when it comes to language and how concepts are conveyed. I think it’s important to be accurate, even if not precise, when describing what something is or how to use it, as otherwise the folks to whom you’re communicating can easily form the wrong mental model for that thing. Having a good mental model for something is important in then being able to reason about the thing in question and to correctly infer other uses and behaviors.That’s why I frequently cringe when I hear someone say something like “invoke the method using 'await'”. The com...

Deploy a Secure ASP.NET MVC application with OAuth, Membership and SQL Database
I’ve published a tutorial shows you how to build a secure ASP.NET MVC 4 web application that enables users to log in with credentials from Facebook, Yahoo, and Google and deploy the application to Windows Azure. This tutorial assumes that you have no prior experience using Windows Azure. On completing this tutorial, you'll have a secure data-driven web application up and running in the cloud and using a cloud database. You'll learn: You'll build a simple contact list web application that is built on ASP.NET MVC 4 and uses the ADO.NET Entity Framework for database access. The following...