News

Blazor WebAssembly Template Lands in .NET 5 Preview 6

Microsoft shipped Preview 6 of the unifying .NET 5 framework, with several updates being added to the web site development component of the framework -- ASP.NET Core -- including the addition of a Blazor WebAssembly template.

.NET 5 is designed to combine everything .NET so "there will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more."

In that new scheme, one hot topic in the .NET developer community is Blazor, because it allows coding browser/web apps with C# instead of JavaScript, which is used almost universally in the rest of the webdev ecosystem. Blazor WebAssembly is the client-side part of that effort.

Due to tricky problems encountered with using WebAssembly in .NET browser apps, Blazor WebAssembly trailed its server-side component -- Blazor Server -- by many months, finally being announced as being complete just last month.

"Blazor WebAssembly is now the second supported way to host your Blazor components: client-side in the browser using a WebAssembly-based .NET runtime," Microsoft said last month. "Blazor WebAssembly includes a proper .NET runtime implemented in WebAssembly, a standardized bytecode for the web. This .NET runtime is downloaded with your Blazor WebAssembly app and enables running normal .NET code directly in the browser."

In a June 26 blog post announcing ASP.NET Core updates in the new .NET 5 Preview 6, Microsoft's Sourabh Shirhatti highlighted the addition of the Blazor WebAssembly template.

"The Blazor WebAssembly template is now included in the .NET 5 SDK along with the Blazor Server template," Shirhatti said. "To create a Blazor WebAssembly project, simply run dotnet new blazorwasm."

Other relatively minor ASP.NET Core highlights of the release -- .NET 5 is only 2 previews away from being deemed feature complete -- include:

  • JSON extension methods for HttpRequest and HttpResponse: Developers can now easily read and write JSON data from HttpRequest and HttpResponse using the new ReadFromJsonAsync and WriteAsJsonAsync extension methods, which use the System.Text.Json serializer to handle the JSON data.
  • Extension method to allow anonymous access to an endpoint: Developers now have the ability to allow anonymous access to an endpoint using the simpler AllowAnonymous extension method when using endpoint routing.
  • Custom handling of authorization failures: The team eased the custom handling of authorization failures by adding the new IAuthorizationMiddlewareResultHandler interface, invoked by the AuthorizationMiddleware. "The default implementation remains the same, but a custom handler can be be registered in DI which allows things like custom HTTP responses based on why authorization failed."
  • SignalR Hub filters: SignalR allows server code to send asynchronous notifications to client-side web applications. ASP.NET lets developers' server-side code push content in real-time to connected clients with the help of client SDKs for JavaScript, .NET (C#, F#, and VB), and Java. In the new update, Hub filters -- called Hub pipelines in ASP.NET SignalR -- allows developers to run code before and after Hub methods are called, similar to how middleware allows running code before and after an HTTP request. This is useful for things like logging, error handling, and argument validation.

More information is available in the .NET 5 Preview 6 release notes, along with a list of breaking changes.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events