Notes from the ASP.NET Community Standup – March 8, 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 live.asp.net where the meeting’s schedule is posted and hosted.

This week’s meeting is below:

Community Links

Steve Gordon explores extending the Identity SignInManager

Muhammad Rehan Saeed shared his ASP.NET TagHelper for Subresource Integrity – this caught the attention of Scott and Damian, and they are interested in looking at this a little further.

Norm Johanson wrote up an article on the Amazon AWS blog about Continuous Delivery to the Amazon Platform

published an article discussing Pluralization in ASP.NET Core.  Damian pointed out that pluralization is not currently supported directly in the framework and its nice to see the community working on some of these topics.

Paul Knopf shared some code on GitHub that supports starting a new project with React in ASP.NET

We also want to point out ReactJS.NET – a framework for using React with ASP.NET written by some of the contributors to the React project.

David Pine published his steps to get an Angular 2 SPA running on ASP.NET Core

From NDC London, Dominick Baier talked about security in ASP.NET Core

Also from NDC London, Steve Sanderson shows how to build better single-page-apps with ASP.NET Core

Sayed asked for some feedback on the ‘One ASP.NET dialog’ on GitHub.  Go read the issue and comment

Damien published a great article that shows how to use Angular 2 with OpenID Connect Implicit Flow and Identity Server 4.

The TurboLinks feature from Rails has been implemented on ASP.NET and the source is on GitHub in the TurboLinks.NET project from Tommy Parnell

Henrik announced WebHooks RC1 for ASP.NET 4.6

The ASP.NET Monsters published an article about building ASP.NET Core projects on AppVeyor

The ASP.NET Monsters also published a screencast discussing dependency injection in ASP.NET Core

Questions of the Week from Twitter

Where should I file a bug for ASP.NET Core tooling?

File a bug on the ASP.NET Tooling repo on GitHub

Can we address a lack of love for ES6 tooling in Visual Studio?

You can use either the NodeJS tools for Visual Studio or the WebCompiler extension to enable ES6 functionality

NuGet Package of the Week

This week we’re going to highlight the JSNLog project

JSNLog.com

JSNLog is a package that provides easy JavaScript-based client-side logging that connects to your server to deliver the information you want to log from the browser.   They have support for ASP.NET 4.x using an HTTP Handler or OWIN Middleware and the also have support for ASP.NET Core with a middleware component.

The project has been running since 2012 and has 34k downloads with a most recent release in Feb. 2016.  There is great documentation about the APIs, examples, and how-to get started videos on their website.

Install it now in your web application with the following command:

Install-Package JSNLog

Accomplishments

Damian reiterated that the team is committed to not declaring a delivery date until they are sure that they can make that date.  There have been many meetings over the last few weeks to iron out the design of the remaining items.  One item that Damian highlighted is the shared runtime that the .NET Core app can be programmed against, a mini-.NET runtime that could be shared and be redistributed as is currently done with dnx in the RC1.  The benefit of this shared runtime is that the managed runtime is specific to the machine and the shared runtime can be deployed with the application in a smaller package to any machine that supports it.  The team is ironing out how the .NET CLI will separate ths various concerns of this architecture.

The teams have a hackathon planned for early next week to review and plow through integration issues in the frameworks with a goal of delivering an installer for the frameworks.  Once that is accomplished, Damian feels confident he can set delivery dates for ASP.NET Core.

Scott pointed out that this is the balance that .NET and Java provide that separates them from NodeJS where the base framework is very small and everything comes from an npm package.  The base NodeJS project has many dependencies and packages that are installed prior to writing a line of code.

Damian emphasized that its important to get the structure of the framework and application model correct in .NET Core and ASP.NET Core 1.0 so that future versions can build on it and developers can have a killer product with the quality they expect from Microsoft.

Questions and Answers

Question: What is the profiling API situation in .NET Core?  Is it the same as .NET Framework?

— There is a profiling API in Core CLR and we know that some existing profiling tools just work in Windows.  In particular, we are using dotTrace.   The story on Linux and Mac is a little more confusing because those tools don’t work.  The CLR team is putting together guidance and tools that will help with this.  The current concept is that you would turn on a flag, probably with an environment variable, that will notify your application to emit profiling information that could be taken to a Windows machine and loaded into perfview. There are also some scripts being worked on that will allow your application to trace events on Linux with the perf tool.

Question:  Are WebForms possible as middleware on ASP.NET Core?

— Anything is possible, but it would be a gargantuan task

Question:  How legit is the NodeServices stuff from Steve Sanderson?

— Completely legit – the plan is to ship it as a beta in time for the RTM of ASP.NET Core.  More information about this topic can be seen in Steve’s presentation on Channel 9.

Question:  Can you confirm that SQL Azure does not work with ASP.NET Core RC1-Update1?

— SQL Azure most definitely works on this version, you may have another problem in your configuration

Question:  How can I leverage Azure Service Bus Brokered Messages without REST?

— The client has not been ported to .NET Core, and they are awaiting the WCF client to be ported.

Question:  Will there be an Express version of SQL Server on Linux for Dev?

— Unknown by the team at this point, but we do know that you can run the preview that was released in a Docker container.  That may be your initial dev story.  More information will be announced by the SQL Server team as they determine pricing, licensing, and other information around this new release.

Question:  Will a REPL be available in the new Core toolchain?

— It does exist, but its not clear if it will make it to the RTM.  At the moment, the team is considering cutting it out in order to complete RTM.

Question:  Is Kestrel the final name for the webserver or will it be branded?

— Yes, Kestrel is the name of the server.  We do not have plans to name it “ASP.NET Tiny WebServer Service Pack 1”

Question:  Given the timeframe, are there any surprise announcements for the Build conference?

— Nope, everything is open-source.  We promised to be transparent about the framework and tools, there are no surprises here.

Question:  What is the difference between net451 and dnx451 in project.json?

— net451 is desktop framework – dnx451 is .NET Core and dnx451 is going away in RC2

Question:  Can I host kestrel in a UAP application?

— No, the APIs for kestrel are not available in UAP

Question:  Can we add a SignalR refresh for Live.asp.net so that the video appears when broadcasting starts?

— Yes and no.. we have a pull-request for this and Damian has not implemented it yet because he is busy working towards the RTM of ASP.NET Core

Question: Could you use the ICU Message format for .NET pluralization

— We are actually using the ICU database format in .NET Core

Question:  What is the progress on the WCF client port?

— Pretty far along, needs some work like Service Bus syndication.  Not sure where it is or how to get it

Question:  Can you share anything about the Xamarin acquisition?

— Nope… only what has been announced publicly

Question:  Is there a .NET CLI story for scaffolding?

— Sayed and the team are working on this, and its out of scope for version 1.

Thank you to everyone that tuned in to the live recording and asked questions.  The team is always looking forward to hearing for you.  Join us on March 15th at 23:45 UTC, 18:45 ET, 15:45PT or just check the timer at http://live.asp.net for exact time in your timezone as well as a reminder that you can add to your calendar.