Commit Graph

37883 Commits

Author SHA1 Message Date
Ryan Nowak f2e9ef3441 Improve initialization and SignalR configuration
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.
2019-04-02 15:33:42 -07:00
Hao Kung 555b506a97
Identity: Add new email/confirmation flows (#8577) 2019-04-02 14:50:43 -07:00
Andrei Amialchenia 8274776efa Test name fixed (#8994)
Fixed #8922
2019-04-02 13:58:06 -07:00
penenkel b6bbc29498 HostingLogScope now logs RequestPath as Request.BasePath+Request.Path #8942 (#8944) 2019-04-02 12:33:15 -07:00
Pranav K 42a2dd5b3e
AddRazorSupportForMvc in RCL (#8995) 2019-04-02 11:13:40 -07:00
Pranav K 1b868323e8
Add a System.Text.Json based TempDataSerializer (#8874)
* 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
2019-04-02 10:34:50 -07:00
Javier Calvarro Nelson 8499a27c7f
[Components] Relayer + Robust reconnect (#8911)
* [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.
2019-04-02 19:17:03 +02:00
Kirill Rakhman 3cc3ab00c9 Reduce boxing in RedirectRule.cs (#8988) 2019-04-02 10:04:07 -07:00
David Fowler f4c61de490
Initial design for exception page filters (#8958)
- 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
2019-04-02 10:02:34 -07:00
Hao Kung 42b3fada31
Add validation to ensure Cookie.Expiration is not set (#8967) 2019-04-02 09:56:37 -07:00
Doug Bunting 91dcbd44c1
Remove build-time service reference download feature (#8981)
- #7500
- skip dotnet-watch `RenameCompiledFile()` test
    - #8987
2019-04-02 09:24:27 -07:00
Ryan Nowak 6a6a870f08 Remove 'Type Check' workarounds from preview 3
Fixes: #8920
2019-04-01 21:43:30 -07:00
Pranav K ff313901de
Mark Mvc analyzers as non-shipping (#8968)
Since these analyzers are now available via the WebSDK, we no longer
need to ship these.

Follow up to https://github.com/aspnet/AspNetCore/issues/4373
2019-04-01 15:52:15 -07:00
Artak Mkrtchyan 77e6be4c28 Fixing the build for ProjectTemplates 2019-04-01 15:49:21 -07:00
Justin Kotalik df3a702190 Update the SDK (#8670) 2019-04-01 15:18:18 -07:00
Pranav K d86c9b3f07
Use MessagePackReader \ MessagePackWriter to implement IHubProtocol for server-side Blazor (#8687)
* Use MessagePackReader \ MessagePackWriter to implement IHubProtocol for server-side Blazor

Fixes #7311
2019-04-01 14:25:23 -07:00
Steve Sanderson 7f4dd27551
Support triggering rendering from OnAfterRenderAsync. Fixes #8435 (#8960) 2019-04-01 13:01:33 +01:00
Ryan Nowak 285110de91 Add missing ref-assembly for header propagation
I think this was missed because the PR predates ref assemblies :)
2019-03-30 11:50:34 -07:00
BrennanConroy 9d8990a710
Remove pplx::task from public API (#8747) 2019-03-29 23:54:44 -07:00
David Fowler 61b3504dbe
Added NegotiateMetadata to negotiate endpoints (#8907)
- 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
2019-03-29 19:24:43 -07:00
Ryan Nowak 284e968101 Add AddControllers and AddRazorPages
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.
2019-03-29 18:51:10 -07:00
Justin Kotalik 0cfac5b88d
Always replace ANCM in xdt transform(#8933) 2019-03-29 16:35:01 -07:00
Justin Kotalik 010139ac8a
Limit chunk size when writing chunked responses (#8837) 2019-03-29 16:34:26 -07:00
Hao Kung 66ae9cee8d
Remove dead Fedora.27 Helix queue (#8929) 2019-03-29 14:46:17 -07:00
Alessio Franceschelli f28cf2bbc8 HeaderPropagation: propagate incoming request headers to outgoing HTTP requests (#7921)
* 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
2019-03-29 12:00:46 -07:00
Doug Bunting f6130e8430 Correct daily build information
- the MyGet feed doesn't contain most of our partner teams' packages and hasn't for a while
2019-03-29 10:49:34 -07:00
Steve Sanderson 77d9fae439
Supply "IsConnected" state info to components (#8888)
* 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
2019-03-29 14:53:29 +00:00
Steve Sanderson 49b074d3c0
Fix base URI during prerendering (#8910) 2019-03-29 12:41:59 +00:00
Mikael Mengistu f10635f6c8
Java Client Expose ConnectionId on HubConnection (#8689) 2019-03-28 17:02:00 -07:00
Chris Ross e881ee58c0
Mark Flaky http.sys tests Internal/#1826 (#8890) 2019-03-28 15:59:59 -07:00
Ryan Nowak 658b37d2bd
Make UseEndpoints a thing (#8765)
* 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.
2019-03-28 15:41:11 -07:00
Stephen Halter 062cfac384
Mark some Http2TimeoutTests as flaky (#8875)
* DATA_Sent_TooSlowlyDueToSocketBackPressureOnSmallWrite_AbortsConnectionAfterGracePeriod
* AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterCooldownExpires
2019-03-28 14:53:47 -07:00
Justin Kotalik a5791da8d3
Fix ContentLength_Received_ReadViaPipes (#8893) 2019-03-28 14:14:36 -07:00
Chris Ross 248d4e70a2
Add missing copyright in IntegrationTesting (#8891) 2019-03-28 13:23:06 -07:00
Mikael Mengistu 5e8a7ad725
Fix jasmine timeout for SignalR daily tests (#8748) 2019-03-28 11:45:15 -07:00
Daniel Marbach d24ec01224 Add overload for Configure that gets WebHostBuilderContext (#8697) 2019-03-28 10:10:06 -07:00
Steve Sanderson 03357bf92b
Components: don't block the SignalR loop during init. Fixes #8274 (#8863) 2019-03-28 16:42:55 +00:00
Vance Morrison 18b81bacce Support for receiving ID via TraceParent HTTP header. (#8495)
- Also moved the fetching of ANY HTTP header fields until AFTER the most stringent
- Check to see if logging is on (thus deferring work if the logger is sampling).
- Added transfer of TraceState from http header to Activity
- Added tests to insure that we were reading traceparent and tracestate headers as expected.
2019-03-27 22:40:17 -07:00
Mikael Mengistu 017f409fe4
Expose ConnectionId on .NET Client (#8668) 2019-03-27 17:30:43 -07:00
Steve Sanderson 63a4b5c27a
Fix rendering inheritance. Fixes #8192 (#8818)
* Make it irrelevant whether components call base.BuildRenderTree or not. Fixes #8192

* Remove base.BuildRenderTree calls from manually-implemented render logic

* Update ref assembly code
2019-03-27 21:26:13 +00:00
Ryan Nowak cc1b2941f9 Fix #8520 - Component parameters not found
This resolves the issue blocking use of component parameters from our
ref assemblies. Making properties public with private get is our
recommended guidance for wanting documentation to work in the IDE.

We also now need to manually generate the ref-assembly types for these
so they will show up for tooling with setters. I've logged an issue to
track whether we want to keep this long term, it seems like a suitable
workaround for now.
2019-03-27 12:10:43 -07:00
Ryan Brandenburg 8955a32ce9
MapController in RazorPages (#8685)
MapController in RazorPages
2019-03-27 10:49:33 -07:00
Steve Sanderson 8ae0791735 In Blazor Hosted template, explicitly enable compression for application/octet-stream
Otherwise, the latest ASP.NET Core won't compress those files
2019-03-27 17:37:24 +00:00
Steve Sanderson fdf7f58466 Handle asynchrony during app startup on WebAssembly. Fixes #8079 2019-03-27 17:37:24 +00:00
Ryan Brandenburg 7248ecbaf1
Make some skipped tests flaky (#8795) 2019-03-27 10:20:16 -07:00
Mikael Mengistu e979426809
Update Gradle to version 5.3 - Now with retries (#8840) 2019-03-27 10:04:25 -07:00
Pranav K cb6fb32529
Make building Components & Mvc solutions work out of the box (#8830)
* Make building Components & Mvc solutions work out of the box

Fixes https://github.com/aspnet/AspNetCore/issues/8413
2019-03-27 09:27:11 -07:00
John Luo eaf6b3e7a1
Update Grpc.AspNetCore.Server version (#8828) 2019-03-27 08:51:46 -07:00
Doug Bunting b068c9a62c
Move to BYOC queues (#8694)
* Move to BYOC queues
- aspnet/AspNetCore-Internal#2033
- use conditions matching aspnet/Extensions and dotnet/Arcade
  - e.g. 05cb24592a/azure-pipelines.yml (L49-L54)
- install necessary Build Tools for Visual Studio 2019 components and workloads on CI
- revert part of 85ae18c723 because multiple editions of VS 2019 are now publicly available
  - that is, restore support for multiple editions in InstallVisualStudio.ps1
- update InstallVisualStudio.ps1 to
  - support BuildTools edition of VS 2019

nit: merge a couple of Windows build steps
  - support automatically updating latest version of a VS edition  on the machine
  - include `-Quiet` option for a completely non-interactive installation

* Install SQL Server 2017 Express LocalDB in Windows test job

* Drop back to SQL Server 2016 Express LocalDB

* Instead: Install SQL Server 2017 Express LocalDB and its cumulative update

* Don't move Microsoft.AspNetCore.Blazor.Templates.dll into output directory
- assembly is not of interest and should not be signed

* Revert most of "Don't move Microsoft.AspNetCore.Blazor.Templates.dll into output directory"
- didn't help odd attempt to sign this file and it was only a warning

This reverts commit b55d69c370.

* Back to using SQL Server 2016 Express LocalDB again
- installing cumulative update was taking extra time and not reliably updating the LocalDB install
- reverts part of 70d8d125f9, leaving direct download and some reordering

* Do not assume vsjitdebuger.exe exists
- component is not available in BuildTools edition of VS
2019-03-27 08:31:56 -07:00
谭九鼎 bc032624da Use https link (#8850) 2019-03-27 08:29:59 -07:00