[Blazor] [Fixes#11847] Renderer.DispatchEventAsync throws null
reference exception if event handler throws synchronously
* Returns after handling the exception.
* Adds a unit test and an E2E test to validate expected behavior.
* Add converters for ProblemDetails and ValidationProblemDetails
ProblemDetails & ValidationProblemDetails require IgnoreNullValues to be
applied on the types. We'll use a converter to workaround the absence of this
feature
Fixes https://github.com/aspnet/AspNetCore/issues/11522
* E2E test to show current behavior
* Actually support base-relative, root-relative, and absolute redirections during prerendering
* Fix MVC functional test
- We made a change to dispatch connection execution but that also ended up dispatching the tracking of those connections in the connection manager. While it's not a huge deal most of the time it can affect graceful shutdown as there can be queued connections that are delayed in the thread pool queue which are untracked. This change makes it so we track the KestrelConnection before dispatching.
- This change goes from pooling just the HttpContext to pooling the entire TContext. In the past this was a huge struct that got copied around and now it can be a class. Servers can provide the storage for the TContext via a new `IHostContextContainer<TContext>` interface.
- Removed IDefaultHttpContextContainer since it's been superseded by IHostContextContainer
- Move DefaultHttpContextFactory to Hosting to take advantage of internal methods
- Also handle a null FeatureCollection and null HttpContext and throw a better exception
We used to be inconsistent between what we'd do when formatting a value
based on whether or not you specified a format.
This change brings us back into consistency.
For a `default` DateTime/DateTimeOffset we will just call ToString on
it. For a `default` nullable of these types we will return the empty
string.
While it's definitly intended for `@bind` to have culture-sensitive
output for most cases, we want the tests to behave consistently for all
developers.
So this is an attempt to use a fixed culture for all of our testing.
- #12363
- correct a few VS issues
- void silent failures
- improve documentation
- support the `clean` target
- stop using experimentatal package version
* Allows the server to accept acks with a higher sequence number than the first queued pending render and caches up to it.
* Makes the client send acks for previous render batches.
* Makes the client repeat acks for errored render batches if it keeps receiving new render batches.
* Client awaits sending acks to ensure that they get send in order.
Improvments to names
- Using EventData suffix
- More clarity for events assocated with filters
Fixes: #12263
We have to report the BeforeActionMethod using its old signature because
it's used by Intellitrace. I added a new pair of events with a better
name to use with strong types since there's no practical way to update
the old ones.
* Make E2E prerendering test use static prerendering (we no longer need coverage for stateful prerendering)
* Use authentication state during static prerendering. This replicates issue #11799 in the E2E test
* Initialize the authentication state provider during static prerendering
* Update ref assembly
* Update unit test
* Some initial tidying on Boot.Server.ts, though can't make much difference until stateful prerendering is removed
* In Web.JS, rename ILogger to Logger to match TypeScript conventions
* Move reconnection options into BlazorOptions
* In Web.JS, eliminate collection of CircuitHandlers and just have one ReconnectionHandler
* Expose Blazor.defaultReconnectionHandler
* Update binaries
* [Blazor][Fixes#12054] ComponentHub reliability improvements.
* Validates StartCircuit is called once per circuit.
* NOOPs when other hub methods are called before start circuit and
returns an error to the client.