Notes from the ASP.NET Community Standup – May 3, 2016

This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott HanselmanDamian EdwardsJon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams.

Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video of their discussion to YouTube for later reference. The guys answer your questions LIVE and unfiltered. This is your chance to ask about the why and what of ASP.NET! Join them each Tuesday on where the meeting’s schedule is posted and hosted.

This week’s meeting is below:


Links of the Week:

Tony Sneed commented on Twitter about getting a nightly build of RC2 running with Docker.

Anthony Chu deployed ASP.NET Core to Docker Swarm with container service

Scott Sauber shows us how to use feature-folder structure instead of separate Model, View, and Controller folders

Chris showed us how he writes a cross-platforms single page application with Angular and Typescript

ASP.NET Monsters covers the Developers Pages in ASP.NET Core

James Chambers shows us how to do GitHub authentication in ASP.NET Core

Damien Boden wrote up how to make Angular 2 localization work with ASP.NET Core

Charles Nurse talks about building an API for his new blog platform based on ASP.NET Core

How to use StormPath for authentication and authorization in ASP.NET Core

Shawn Wildermuth shows how to implement a logging provider in ASP.NET Core

Steve Smith is offering online training classes in June 2016

Steve also published an updated error handling document in the ASP.NET docs

Mads Kristensen shared a post about the web accessibility plugin for Visual Studio

An extension to help make Stackify easier to use

Jeff Fritz wrote a post about using gulp, npm, and bower with Web Forms

Mahesh shows us how to use multiple objects as input parameters in an MVC action method

Nick Craver from the Stack Overflow team wrote about how they deploy their service


Today’s guest is Sébastien Ros who works on MVC team, also works on the Orchard project.  He has been recently working on Orchard v2 that is based on ASP.NET Core and using this migration as a good test of the migration process.  In the week prior, one of the Orchard team members was able to run a modified version of Orchard on Linux.

Sébastien showed us the setup screen and created an initial tenant on an Orchard installation running on Linux.  Orchard uses separate folders for each tenant that it hosts, to allow separate configurations to be stored.  He also shared that Orchard v2 in its current state without caching, is faster than the optimized Orchard v1 on Windows.

Currently, the Orchard team is using Dapper with the YesSQL document database.  The team is ready to start using the new ICacheService and IDistributedCache services in ASP.NET Core with the project.  They also have built out what they call “Shape Caching” in Orchard that allows them to cache parts of pages, similar to “donut hole caching”.

Sébastien then showed us how TagHelpers are being used in Orchard to replace C# based HTML Helpers with tags.  This helps to make the HTML templates in use by Orchard much easier for designers to consume, as they do not need to know C# syntax to work with content.  Additionally, they have developer a dynamic tag-helper capability where new tag helpers are generated based on new content types added to the Orchard system.  This generation of tag-helpers happens through a TagHelperDescriptorResolver, the source for the Orchard ShapeTagHelperDescriptorResolver is available on GitHub.

Scott asked Sébastien about the challenges they had in migrating from ASP.NET MVC to ASP.NET Core.  Damian pointed out that this was a double migration: from ASP.NET MVC to ASP.NET Core and also from .NET Framework to .NET Core.  They had to do some work to get their dependency injection framework operational, as they manage scope objects per tenant in the system.  He indicated that it was not hard to migrate the system, but some of the customization they did for logging caused some challenges in migration because logging is just part of the platform in ASP.NET Core  There were no blocking items in the migration, and 90%+ of the work on Orchard is contributed from the community with most of the changes to support ASP.NET Core actually coming from the community contributors.

Scott and Damian discussed how to get Orchard running in a production web space for the internet to access.  There is currently reverse proxy documentation for ASP.NET Core with Linux available in the ASP.NET docs.

We recommend that you check in Tuesday May 10th, as there are some significant updates from this week to discuss about the schedule.