News

Razor Components (Server-Side Blazor) Refined in ASP.NET Core Preview

ASP.NET Core's Razor Components -- aka server-side Blazor -- received a lot of attention in the just-released NET Core 3.0 Preview 3 as Microsoft continues to mature its initiative to run C# code in the browser instead of just JavaScript.

Or, as Microsoft said in an announcement yesterday, Razor Components, introduced in an earlier preview, provide "a new way to build interactive client-side Web UI with ASP.NET Core."

While the experimental Blazor project started off as more of a full-stack approach with client-side and server-side components, the client-side effort ran into problems in getting C# to play nice on the Web with WebAssembly, yet another experimental project that facilitates the development of Web apps with C# and other higher-level languages.

As the client-side team continues to work on those problems, the server-side effort was dubbed Razor Components and moved to be an integral part of ASP.NET Core.

In the new Preview 3, Razor Components received many improvements, described by Microsoft as:

  • Single project template: The Razor Components project template is now a single project instead of two projects in the same solution.
  • New .razor extension: To clarify which Razor files should be compiled as Razor Components, Microsoft introduced a new file extension: .razor.
  • Endpoint routing integration: Razor Components are now integrated into ASP.NET Core's new Endpoint Routing system.
  • Prerendering: The Razor Components project template now does server-side prerendering by default, so when a user navigates to an application, the server will perform an initial render of Razor Components and deliver the result to their browser as plain static HTML. Then, the browser will reconnect to the server via SignalR and switch the Razor Components into a fully interactive mode.
  • Razor Components in Razor Class Libraries: Developers can now add Razor Components to Razor Class Libraries and reference them from ASP.NET Core projects using Razor Components.
  • Improved event handling: The new EventCallback and EventCallback<> types make defining component callbacks much more straightforward.
  • Forms and validation: This preview release adds built-in components and infrastructure for handling forms and validation.

Regarding the ability to add Razor Components to Razor Class Libraries and reference them from ASP.NET Core projects using Razor Components, Microsoft added one caveat: "Note that Razor Class Libraries are not compatible with Blazor apps in this release. Also, Razor Class Libraries do not yet support static assets. To create components in a library that can be shared with Blazor and Razor Components apps you still need to use a Blazor Class Library. This is something we expect to address in a future update."

Features other than Razor Components also received their share of improvements, including:

  • Runtime compilation
  • Worker Service template
  • gRPC template
  • Angular template updated to Angular 7
  • Authentication for Single Page Applications
  • SignalR integration with endpoint routing
  • SignalR Java client support for long polling

All of the above are explained in detail in the release notes.

In announcing .NET Core 3.0 Preview 3, Microsoft announced that .NET Core 3.0 would not be shipping with Visual Studio 2019 when it's released on April 2. Rather, it will ship in the second half of the year, with the exact date to announced during Microsoft's Build conference in early May.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Microsoft Highlights Visual Studio Live! Event Lineup and Longtime Developer Community Role

    A Microsoft MVP Blog post on Visual Studio Live!'s longevity arrives as the 2026 conference series continues with upcoming stops at Microsoft HQ, San Diego and Orlando.

  • Using Local AI to Cut Copilot Usage-Based Billing Shock

    After being gobsmacked by the new billing plan using almost all my monthly credits in one or two days, I tried pushing some Copilot-style coding work onto local models in VS Code. What I found was less "free AI" and more "pick your pain": cloud charges on one side, heavy local resource use and long waits on the other.

  • .NET 11 Preview 5 Focuses on Performance, Productivity and Safer Code

    .NET 11 Preview 5 focuses on under-the-hood runtime performance gains, streamlined APIs and language features that reduce boilerplate, plus built‑in security checks and incremental ASP.NET Core and EF Core improvements aimed at everyday developer productivity.

  • VS Code 1.124 Focuses on Agent Autonomy and Parallel Sessions

    Microsoft's June 2026 VS Code update turns on Autopilot by default and adds background sending for agent sessions.

Subscribe on YouTube