The 22 November 2016 ASP.NET Community Standup, hosted by Hanselman with John and Damian Edwards, is both a trial of a new streaming tool and a status report after ASP.NET Core 1.1 shipped. Its payoff is Edwards' account of where performance and tooling stand: a first TechEmpower showing that is strong only in plaintext, a pipelines API and a community Kestrel patch meant to close the gap, and tooling and versioning behaviour he openly calls unfinished.
Trying Aerial Spaces. The show runs on Aerial Spaces, a startup's WebRTC-based tool, in place of Google Hangouts, from the startup's staging site. The hosts say it needed no plugins and gives viewers control of the camera layout. They count 150-plus viewers with nothing crashing. Viewers reported trouble in Edge, which the hosts guess is browser detection, and the hosts keep getting booted by links that navigate away. Edwards added the embed to the live.asp.net site himself and live-streamed the coding.
Release news and community links. John covers the ASP.NET Core 1.1 RTM post, .NET Core 1.1, ASP.NET Core support in Visual Studio for Mac, and ASP.NET Core on App Service on Linux, which uses Docker under the hood, all announced at Connect. Community items include an EDI serializer for .NET Core, URL rewriting behind an AWS load balancer, and Orchard running on 1.1, which is not yet feature-ready. Edwards says the SignalR port used in one post "has no future" because a team is rebuilding SignalR from the ground up.
TechEmpower round 13. This is the first round to include ASP.NET Core, on version 1.0.1. It placed 10th in plaintext and about halfway down in JSON, database and fortunes. Edwards explains that the middleware entry counts as a micro-framework because ASP.NET Core exposes no raw-server API, and he says even full MVC beats raw Node on plaintext. A host compares the test to a 0–60 time: a constrained measure of how fast a server speaks HTTP. Round 14 is hoped for in January, and the stated goal is top ten in every test.
Pipelines. Edwards presents pipelines, formerly called channels, as the basis of the next round of performance work. The pipeline owns and pools the buffers, a job Kestrel currently does by hand, and it comes with non-allocating serialization primitives. He relays an MVP Summit demo in which allocation fell from hundreds of megabytes to about 14 KB. A community member wrote a TLS wrapper over pipelines using SSPI and OpenSSL. In Q&A he says the basic API is far along but has not been through formal API review.
The Kestrel magic-number PR. A community member, Ben, used a de Bruijn sequence to locate the matched byte in Kestrel's vectorized parser. The PR was open for four months, drew in other community members and the JIT team, and yielded about 5% in plaintext. In review, reordering two lines broke Kestrel because the lock synchronization had not been commented. A host draws the lesson that large community PRs need patience, and Edwards says Ben has found more "low-hanging fruit" of the same kind.
Roadmap and tooling. Edwards plans a write-up of the "big rocks" for the version after 1.1 within weeks. He calls the Preview 3 MSBuild SDK in the VS 2017 RC alpha quality and gives no ship dates. On the downloads page, he says it serves first-time visitors and experienced users with one design. A host compares it unfavourably with Node's two-button page.
Q&A. Developers should install the SDK and servers the runtime. Installing both 1.0 and 1.1 requires two installs. Apps roll forward to new patch versions but not minor ones, and Edwards says that behaviour will be revisited. MVC 3 and 4 projects, which cannot be opened in the RC, are coming back. Route-based culture localization shipped in 1.1. Azure SDKs await the API restoration planned for the first half of next year. HttpClient should be used as a single instance, though it caches DNS. Native compilation via CoreRT remains a long-term effort.