With this newest Blazor release we’re pleased to announce that Blazor is now in official preview! Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on WebAssembly.
Here’s the list of what’s new in this preview:
- Razor Components renamed back to server-side Blazor
- Client-side Blazor on WebAssembly now in official preview
- Resolve components based on
@using
- _Imports.razor
- New component item template
- Reconnection to the same server
- Stateful reconnection after prerendering
- Render stateful interactive components from Razor pages and views
- Detect when the app is prerendering
- Configure the SignalR client for server-side Blazor apps
- Improved SignalR reconnect features
- Configure SignalR client for server-side Blazor apps
- Additional options for MVC service registration
- Endpoint routing updates
- New template for gRPC
- Design-time build for gRPC
- New Worker SDK
public async Task<IEnumerable<UserDto>> GetUsersInParallelInWithBatches(IEnumerable<int> userIds) { var tasks = new List<Task<IEnumerable<UserDto>>>(); var batchSize = 100; int numberOfBatches = (int)Math.Ceiling((double)userIds.Count() / batchSize); for (int i = 0; i < numberOfBatches; i++) { var currentIds = userIds.Skip(i * batchSize).Take(batchSize); tasks.Add(client.GetUsers(currentIds)); } return (await Task.WhenAll(tasks)).SelectMany(u => u); }