* Rename Host.cshtml to _Host.cshtml
* In Startup.cs, specify root component and selector explicitly so you can easily disable prerendering if desired
* Remove unneccesary dependency on NewtonsoftJson package
* Remove unnecessary MapRazorPages and make blank lines consistent
* Rename "Services" subdirectory to "Data"
* Remove favicon.ico (no longer needed since we switched to MapFallbackToPage
* Revert MapComponentHub change due to reasons
Fixes: #6887 and #6887 and #5624
Adds support for calling Blazor.start({...}) and passing in a
configuration object.
For now all you can configure is the SignalR HubConnectionBuilder. This
is a priority right now because we want to make configuring SignalR's
logging accessible.
* Add a System.Text.Json based TempDataSerializer
* Update DefaultTempDataSerializer
* Add common tests for DefaultTempDataSerializer & BsonTempDataSerializer
* Remove uses of NewtonsoftJson in tests solely required for temp-data support
Fixes https://github.com/aspnet/AspNetCore/issues/7255
* [MVC][Components] Prerendering + Robust reconnect
* Relayers prerendering support on a separate package on top of MVC and
components.
* Implements robust reconects with acknowledgements from the client.
* Improves interactive prerendering with the ability to reconnect to
prerendered components.
* Removes the need to register components statically when prerendering
them.
* Removes the need of using an element selector when prerendering an
interactive component.
* Updates the templates to use the new fallback routing pattern and
reenables the components test.
* Adds eslint to the Typescript project to help maintain a consistent
style.
* Adds logging to support better debugging based on the pattern used by
signalr.
* Fixes exception handling on the server to always report exceptions correctly to the client.
- This change introduces the concept of an IDeveloperPageException filter that runs whenever the developer exception page has encountered an error. It follows the middleware pattern (chain of resposibility) which allows short circuiting or decorating the default logic.
- Added tests
- This makes it a bit cleaner to identify the negotiate when trying to apply policies (like replacing the endpoint)
- Added tests that cover MapConnectionHandler for endpoint routing
These are *new style* for configuring MVC in services. We're adding these to make
things feel a bit more tailored to those particular scenarios.
----
The main reason for this is that we've had repeated community asks for an
*API-optimized* way of configuring MVC. I don't think that using AddMvcCore
is a suitable building block, because it has too many options that you want.
I've think I've identified the reasonable set of features that should be part
of the default experience for APIs. All of these things are already pay-for-play
and are activated by the presence of attributes. The only additional cost is
loading of assemblies and a few additional inspections of the attributes
(cached).
----
Additionally the AddControllers experience is composible. You can add views
to it, or add pages and get the whole thing.
AddRazorPages is basically an alias for what AddMvc does today. We don't
currently have a way to add pages without controllers (the opposite is true).
Based on feedback we could specialize this more.
----
Branding and perception are important, and we've users ask for more flexibility
in what gets added. The plan is to update the templates to use this experience
in preview4, and see what kind of feedback we get.
* Ported HeaderPropagation from aspnet/Extensions
* Introduced Middleware
* Refactored middleware logic
* Refactored builder extensions
* Copyright notice
* Test for friendly exception on Builder
* Fixed header name selection when no output name specified
* Set comparer for the dictionary of headers
* Refactored configuration as Dictionary
* Renamed state objects
* renamed OutboundHeaderName in configuration
* Changed DefaultValuesGenerator to ValueFactory
* Missing docs
* Removed AlwaysAdd and added tests for null entry in configuration
* Improved docs
* Update src/Middleware/HeaderPropagation/src/DependencyInjection/HeaderPropagationExtensions.cs
Co-Authored-By: alefranz <alessio@franceschelli.me>
* Moved dependency injection extensions
* DI: reused ServiceCollection extension in the HttpClientBuilder one
* Moved service registration
* Update src/Middleware/HeaderPropagation/src/HeaderPropagationEntry.cs
Co-Authored-By: alefranz <alessio@franceschelli.me>
* more docs
* Improved docs
* Update src/Middleware/HeaderPropagation/src/HeaderPropagationValues.cs
Co-Authored-By: alefranz <alessio@franceschelli.me>
* Fixed build
* Update eng/SharedFramework.Local.props
Co-Authored-By: alefranz <alessio@franceschelli.me>
* Updated tests for null config
* Reversed condition on HeaderPropagationMessageHandler as suggested
* Added docs for HeaderPropagationMessageHandler
* Changed proj to ship package to NuGet
* Basic implementation of IComponentContext with IsConnected flag
* Update ref assembly code
* Begin infrastructure for prerendered E2E tests
* Actual E2E test for prerendered-to-interactive transition
* Make endpoint middleware explicit
This change makes the endpoint middleware explicit again, and updates
all of the templates.
The other change here is make UseEndpoints be the place where you
register endpoints. This is vital because it puts your code visually at
the point of the pipeline where it executes.
Lastly, I removed support for UseMvc with endpoint routing. This is
causing issues for some security features, and we're moving in the
direction of trying to make the middleware heavy implementation required
in 3.0. There are some issues we won't be able to fix in MVC if we can't
unambiguously know if UseMvc was used or the middleware.