How To,Resources,Tutorial

Migrating Legacy ASP.NET apps to Docker

Blaize Stewart

15 May , 2017  

Containers vs VMs

Many organizations, not wanting to rewrite applications, are figuring out how to take apps and containerize them for the cloud. Older operating systems are either end-of-life or approaching the end-of-life. Likewise, applications are increasingly being migrated to cloud hosts. The need to do this is as pressing as ever and containers offer a simple, viable solution to make this happen. Windows Containers on Docker bring to bear is the ability to “modernize” legacy .NET apps.

Containers by design improves application density on a given hardware by eliminating the need for redundant operating system installs. Unlike virtual machines that provide hardware abstraction on which a guest OS and apps are installed, containers provide operating system level abstraction, and apps run on top of that. This in effects removes all the CPU and memory requirements needed to run individual OS’s for apps and consolidates this into a single operating system (or multiple if running on a cluster). In the end, the savings are realized in terms of disk space, CPU, and memory consumption.

migrating apps to docker

Microsoft like many other organizations have embraced containers, and have formed a deep partnership with Docker to provide Windows containers. Moving legacy apps to containers is nuanced, and there is no one-size-fits-all approach, but this guide is intended to provide a high-level approach to getting your legacy ASP.NET apps into Windows containers.… Read more

, , ,


Visual Studio 2015 Update 1 Released

Paul Ballard

30 Nov , 2015  

Microsoft has dropped Visual Studio 2015 Update 1 less than two weeks after it was announced during the Connect() conference.  Included in this release are new features such as support for Android Marshmallow and iOS 9 in Apache Cordova apps, new Universal Windows apps tooling, ASP.NET RC1, and the latest .NET framework (4.6.1).

This release features hundreds of bug fixes as well as the following new features.

  • Visual Studio Tools for Apache Cordova – support for Android Marshmallow and iOS 9, new Azure AD authentication.  There’s also a new location for samples and reference material at
  • Visual Studio Tools for Universal Windows Apps – Updated tooling for targeting the November Windows 10 release (1511) as well as improvements to XAML designer, manifest designer, and debugging.
  • Visual C# – The C# Interactive Windows is back along with a scripting execution tool called csi.exe.
  • Visual C++ – Edit and Continue for /BigObj
  • Debugging and Diagnostics – Go To Implementation added to quickly move from interface to concrete implementations, Code Analysis enhancements, and improved filtering and search in diagnostic windows.
  • .NET Framework 4.6.1 – Updates to the latest .NET Framework including numerous bug fixes.
  • ASP.NET 5 RC1 – Latest version of the ASP.NET stack that can run in any platform including Bower support and a cleaner ASP.NET Solution folder.
Read more

, , , ,


Visual Studio Code Goes Open Source and more from Microsoft Connect() 2015

Paul Ballard

18 Nov , 2015  

Microsoft is holding it’s 2015 Connect() virtual conference today which was kicked off by a lengthy keynote from Scott Guthrie.  In the keynote there were several new announcements including a sneak peek into Visual Studio 2015 Update 1, new features in Visual Studio Code, and a new model for getting Microsoft developer tools.  Here’s an overview of some of the key announcements.

Visual Studio 2015 Update 1

The next update for Visual Studio 2015 is due out later this month and will include several new features including support for viewing AppInsights data about your application directly in the IDE, support for Bower package imports, improved support of Node.js and Python, and newly added support for the R machine learning language.  Also to be released on November 30 will be an update for the Windows 10 SDK and development tools that support the features of the November Windows 10 update.

.NET Core and ASP.NET 5 RC

Microsoft is releasing the open source .NET Core and ASP.NET 5 release candidates effective today.  You can get the latest ASP.NET 5 bits at  .NET Core will be released on all platforms including Linux and OSX with GoLive licenses for production applications.  For more information on the key features of ASP.NET 5 RC and .NET Core, check out the .NET Blog announcement.  … Read more

, , ,


Claim Up To $15,000 In CoreCLR and ASP.NET 5 Bug Bounty!

Paul Ballard

22 Oct , 2015  

Now you can join the ranks of Boba Fett and Dog the Bounty Hunter!  Microsoft is taking the stability of their open source CoreCLR and ASP.NET 5 stacks to the people by offering up cash rewards for developers who can find, and prove, defects in the CoreCLR or ASP.NET 5.  Not every bug is created equal of course and the pay scale is based on the severity of the defect and the ability of the developer to show the exploit working.  It also doesn’t include the entire beta stack but there’s ample opportunity to find defects.

The bounty includes all supported platforms .NET Core and ASP.NET runs on; Windows, Linux and OS X. However with the first eligible release, beta 8, we are excluding the networking stack on Linux and OS X. In later beta and RC releases, once our cross platform networking stack matches the stability and security it has on Windows, we’ll include it within the program.  — .NET Web Development and Tools Blog

The payouts are outlined in a table on the official Program Terms page with the highest rewards of $15,000 going for functional exploits that allow remote code execution and the lowest for seemingly poorly documented CSRF and XSS defects which will fetch a mere $500.… Read more

, ,

Wintellect Blogs

Where Oh Where Did My Response.SignOut Go in ASP.NET v.Next beta 6?

Rik Robinson

28 Jul , 2015  

If you’ve just fought through an update from ASP.NET v.Next beta whatever to beta 6 and now you’re staring down the last few red squiggled lines only to come across this little gem about SignOut no longer existing, I can help you get back to signing out in just a few steps.





In this beta, it appears that the sign out functionality has been moved into AuthenticationManager.  Luckily, you have one of these already attached to your Context in the form of Context.Authentication.  So, the first thing you’ll need to do is replace your calls to Context.Response.SignOut() to instead call Context.Authentication.SignOutAsync().  You’ll want to also make the appropriate updates for async and such.  My original example above then becomes this instead:


Sign Out – but not really
  1. [HttpGet]
  2. public async Task<IActionResult> LogOff()
  3. {
  4.     if (Context.User.Identity.IsAuthenticated)
  5.     {
  6.         var authority = String.Format(_config.Get(“AzureAd:AadInstance”), _config.Get(“AzureAd:Tenant”));
  7.         var authContext = new AuthenticationContext(authority, new TokenCache());
  8.         authContext.TokenCache.Clear();
  9.         await Context.Authentication.SignOutAsync(OpenIdConnectAuthenticationDefaults.AuthenticationScheme);
  10.         await Context.Authentication.SignOutAsync(CookieAuthenticationDefaults.AuthenticationType);
  11.     }
  12.     return RedirectToAction(“Index”, “Home”);
  13. }


This gets you past the compiler and, if you run the above, you’ll find that it doesn’t give you any errors at runtime. … Read more



ASP.Net 5 Roadmap Shows A Long Road Ahead

Paul Ballard

22 Jul , 2015  

While Microsoft released Visual Studio 2015 and .Net 4.6 earlier this week, it did not include the upcoming version 5 of ASP.Net, an open source and cross platform framework for building next generation web applications in .NET.  Microsoft did however release a roadmap which includes estimated dates for the next series of Beta milestones (currently ASP.Net 5 is on Beta 5).  The roadmap shows that there are no less than 3 more beta drops planned before RC1 and the eventual 1.0 release.

Milestone Release Date
Beta6 27 Jul 2015
Beta7 24 Aug 2015
Beta8 21 Sep 2015
RC1 Nov 2015
1.0.0 Q1* 2016

Each beta milestone has its own theme and Microsoft has provided a view for developers into what will be in each new milestone.

Beta6 – Localization, Servicing, .NET 4.6 support, and more

In Beta6 we are working on supporting localization in the new request pipeline. We are also working to enable patching and servicing of the runtime including adding support for strong-naming assemblies. In Beta6 you will be able to target .NET 4.6 using the .NET Execution Environment (DNX). We will do work on response buffering and caching (via HTTP.SYS on Windows) and add distributed caching support via SQL Server.… Read more

, ,

Wintellect Blogs

When Should You Make the Move to Entity Framework 7?

Tony Sneed

21 Jan , 2015  

The next version of Entity Framework will be called “Version 7” and will be released as part of the next version of ASP.NET, called “ASP.NET 5.” If you’re currently on EF6, you might jump to the conclusion that you should upgrade to EF7 as soon as it hits the streets. But the EF team has made clear that you’re going to want to hold off upgrading to EF7 for a while:

“We won’t be pushing EF7 as the ‘go-to release’ for all platforms at the time of the initial release to support ASP.NET 5. EF7 will be the default data stack for ASP.NET 5 applications, but we will not recommend it as an alternative to EF6 in other applications until we have more functionality implemented.”

This means that the initial release of EF7 won’t include all the features a real-world ORM (Object-Relational Mapping) tool should support (for example, inheritance mapping). But if you can live without those features, or if you are developing an ASP.NET 5 app that needs to target CoreCLR, then feel free to make the move to EF7.

So when might you want to upgrade from EF6 to EF7?

For some folks the answer will be, “Maybe never.” That’s right.… Read more



5 Questions with N. Taylor Mullen

Paul Ballard

22 Dec , 2014   Video

We sat down recently with N. Taylor Mullen, a winner of the Microsoft Imagine Cup for game development and current member of the ASP.NET team to talk about ASP.NET vNext.

Shortly after placing 1st in Microsoft’s international Imagine Cup competition in 2012 (Game Design Phone) Taylor joined the ASP.NET team at Microsoft. On the ASP.NET team he has worked on SignalR, Razor and MVC.  In this interview we discuss ASP.NET vNext, the difficulties enterprise developers have in keeping up with ever changing web technologies, and why Microsoft has chosen to take the next version of ASP.NET open source.

 … Read more


Wintellect Blogs

Here Come the .NET Containers

Josh Lane

13 May , 2014  

So I was watching Twitter this morning in anticipation of interesting news from TechEd 2014. TechEd isn’t traditionally known as the place where Microsoft drops a lot of big, bold announcements so I wasn’t expecting too much. But then I saw Scott Hanselman post this little nugget:

Scott’s certainly not prone to baseless hyperbole… so this was interesting. A bit later, he followed up with this:

Okay, let’s go have a look. Hmm, yes… stuff from the last Build about native compilation, open language compilers, and better JIT… cloud-optimized CLR, that’s interesting… deploy my own CLR and .NET Framework with each app, okay that’s nice I guess WAIT WHAT.

Why in the world would I want to do that? (more on that in a moment)


Okay, moving on… VS.NET and IIS and self-host options, yes of course… what’s this? NuGet goo and .csproj are going away in favor of a project.json file?!?! Hellooooo, node and npm!… Read more

, ,

Wintellect Blogs

Five Reasons ASP.NET Developers Shouldn’t Worry About Node

Josh Lane

24 Mar , 2014  

I devoted my last post to reasons why ASP.NET developers should pay attention to Node.js. Taking a queue from high school debate team, and because no technology decision (or opinion) exists in a vacuum, I’d like to turn the tables and consider a few reasons why ASP.NET developers might stay away from Node (or at least might think twice before making the leap).

Don’t get me wrong… I really like Node and I think the concepts and patterns it embodies will continue to have a profound influence on server-side web programming for a long time. If and when the popularity of Node plateaus or even wanes over time, we’ll still feel its effects (good and/or bad) in the Next Big Thing. And in the meantime, plenty of us will choose to use it, happily and productively so.

But there is always more than one way to solve a problem, and while Node may be “where the cool kids are” right now that doesn’t mean it’s the only way to roll on the web server. Plenty of Real Work is done every single day with boring old web frameworks like ASP.NET, Java EE, Rails, PHP (!) and a thousand others. Hell, there are even some lunatics out there serving up HTTP in COBOL!… Read more