News

'Epic Fail': ASP.NET PM Struggles with Blazor Hot Reload in Live Demo

"Epic fail," commented a developer who this week tuned in to a livestreamed ASP.NET Community Standup event on "ASP.NET Core updates in .NET 6 Preview 3" in which Daniel Roth, principal program manager (the head guy) for ASP.NET, struggled with a Blazor Hot Reload demo.

For about four minutes, watched by hundreds if not thousands of developers, the good-natured Roth laughed, tweaked, restarted and repeatedly did the puzzled fingers-to-the-chin gesture in trying to diagnose the problem.

Roth and host Jon Galloway had been ploughing through new features for ASP.NET Core coming in .NET 6, scheduled to ship in November.

In the Blazor Hot Reload segment, Roth -- using Visual Studio Code -- demonstrated how code changes could be made with the results instantly reflected in a running app with the app's state preserved, using the familiar counter example. He showed how, using dotnet watch, certain types of code changes that didn't lend themselves to Hot Reload automatically defaulted to a restart, seamlessly keeping the workflow going.

It all worked swimmingly -- until it didn't.

Jon Galloway and Daniel Roth in Livestream Demo
[Click on image for larger view.] Jon Galloway and Daniel Roth in Livestream Demo (source: Microsoft).

In a sequence that might have provided some been-there-done-that cold comfort to hackers like me who get flummoxed by mysterious glitches all the time, Roth and Galloway struggled to identify the problem, which was finally fixed with some help from the audience.

The livestream went something like this when errors popped up instead of code changes:

Roth, after seeing some kind of file locked error and finally diving into Task Manager to manually kill some .NET processes: "no you don't need to do this ... [laughter]"

"let me try it one more time"

"no it's still not updating ... huh, that's interesting"

"for some reason we're still locked ... oh well ... is it cached? ... I don't know what's going on with it, like I restarted the app ... "

Galloway: "people are saying save the file"

"oh"

[more testing]

"why not just test on a livestream? [laughter] ..."

"unresponsive ... what is going on?"

"try it one more time"

"are we good now?"

"yeah I don't know what's going on here ... that's really weird"

Galloway: "it was working super beautifully for a while ... it's in the right directory and everything"

Galloway: "people are saying the counter was a blank file"

"oh is it? Oh snap!" [much laughter]

"well that's obviously why it's not a component anymore ... ok that's fine"

So, apparently, the contents of the counter file were overwritten at some point, with nothing.

The fun begins at about the 43-minute mark in the 1 hour and 19 minute video.

Modern Web Stack
[Click on image for larger view.] Modern Web Stack (source: Microsoft).

In addition to Blazor Hot Reload, a much-requested feature that is actually being rolled out across the entire .NET 6 framework, Roth demonstrated:

  • Inner-loop performance
  • Cloud native development
  • OpenTelemetry
  • Servers
  • Performance
  • MVC
  • Single page apps (SPA)
  • Blazor WebAssembly performance and more

"Now that we're up to .NET 5, ASP.NET Core is your modern web framework for .NET," Roth said. "It's got pretty much everything you need to build UI, to build back-end services. Under the hood, we've got a powerful and flexible hosting model. We've got high-performance servers with Kestrel and IIS and HTTP.sys. And of course we've got a rich set of built-in middleware that just comes out of the box. So a lot of great stuff. But of course, there's always room to make it better."

Regarding that last point, he referenced the ASP.NET Core Roadmap for .NET 6 that tracks development efforts, part of the Themes of .NET site that shows all efforts across the ecosystem.

Themes of .NET
[Click on image for larger view.] Themes of .NET (source: Microsoft).

Roth earlier this month penned a ASP.NET Core updates in .NET 6 Preview 3 post in which new features included:

  • Smaller SignalR, Blazor Server, and MessagePack scripts
  • Enable Redis profiling sessions
  • HTTP/3 endpoint TLS configuration
  • Initial .NET Hot Reload support
  • Razor compiler no longer produces a separate Views assembly
  • Shadow-copying in IIS
  • Vcpkg port for SignalR C++ client
  • Reduced memory footprint for idle TLS connections
  • Remove slabs from the SlabMemoryPool
  • BlazorWebView controls for WPF & Windows Forms
  • The post includes the infamous Blazor counter example.

    It worked just fine in animated GIFs.

    About the Author

    David Ramel is an editor and writer for Converge360.

    comments powered by Disqus

    Featured

    • AI for GitHub Collaboration? Maybe Not So Much

      No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

    • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

      As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

    • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

      Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

    • Data Anomaly Detection Using a Neural Autoencoder with C#

      Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

    • What's New for Python, Java in Visual Studio Code

      Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

    Subscribe on YouTube