Commit Graph

194 Commits

Author SHA1 Message Date
Doug Bunting 1d1d664ea1
Merge branch 'release/2.2' into master
- no-ops except for
  - Update PatchConfig.props (2835f85b6c)
  - Add some additional logging to ErrorPageMiddlewareWebSite (#8049) (aka 1ca6202e7e)
  - Put MVC's functional tests in a separate test group (#8118) (aka db3795b368)
- ignore the build queue (4f2a0edc97) change because we're not hitting Linux resource issues in `master` branch
- ignore baseline test changes (5661c41909 and d2a4435ac8) because they're not applicable in `master`
2019-03-18 12:36:01 -07:00
Ryan Nowak f303a55a8e Add skeleton to use components + prerendering
This adds the skeleton needed for components + prerendring development
in the MVC sandbox. We don't currently have a sample app for quick and
dirty testing.
2019-03-18 10:18:04 -07:00
James Newton-King 47fab927a1
Add friendly error message to UrlHelper for when there is no IRouter (#8145) 2019-03-15 10:14:07 -07:00
Pranav K 7557cb916b Merge remote-tracking branch 'origin/release/2.1' into prkrishn/merge/2.1 2019-03-14 10:04:38 -07:00
Ryan Nowak 0dc14a61ce Simplify Map methods 2019-03-13 20:12:53 -07:00
Ryan Nowak 4b4614635f Change template -> pattern for MVC 2019-03-13 20:12:53 -07:00
Ryan Nowak e78a6521b9 Make naming of IEndpointRouteBuilderConsistent across usages. 2019-03-13 20:12:53 -07:00
Pranav K 0d10c49823
Make IApiBehaviorMetadata public (#8410)
Fixes https://github.com/aspnet/AspNetCore/issues/8403

The analyzer expects the type to be present. However since it's listed
as internal, it is not present when compiling against the ref assembly \ targeting pack.

It was left as internal so we could evolve it later, but we haven't found a need for it as yet.
2019-03-11 14:25:45 -07:00
sprelog bc009fc0f1 fixing possible NRE, when viewContext is null 2019-03-08 15:02:02 -08:00
Chris Ross ce04a1a723
Allow sync IO for NewtonsoftJsonOutputFormatter #8302 (#8303) 2019-03-07 19:11:35 -08:00
Pranav K 41e6fc8ab0 Use ApplicationPartFactory when adding application parts
Fixes https://github.com/aspnet/AspNetCore/issues/8288
2019-03-07 13:38:31 -08:00
Pranav K 8aa02180fb
Skip tests until we can diagnose failures (#8298) 2019-03-07 13:13:23 -08:00
Ryan Nowak a1ec03e1e6 Add fallback routing for controllers and pages 2019-03-06 09:48:07 -08:00
Ryan Nowak bb28db6fb2 Generalize Action Selection logic
Allows us to use the "select action via route values" logic for
endpoints.
2019-03-06 09:48:07 -08:00
Jeremy Lawrence a1f544b62f Correct doc comment for ApiConventionTypeMatchBehavior (#7861) 2019-03-05 14:43:59 -08:00
shnja 4c3996f824 Use Request.Scheme instead of Protocol (#7911) 2019-03-05 14:39:37 -08:00
Pranav K b41959ac32 Add additional logging to TempDataInCookiesTest to diagnose test failure
Diagnosis for https://github.com/aspnet/AspNetCore-Internal/issues/1803
2019-03-05 12:33:49 -08:00
Pranav K 44c66c8314 Revert "Skipping flaky test"
This reverts commit 680c069554fd2a184b8a3030711aed35d4293c4b.
2019-03-05 12:33:49 -08:00
Ryan Brandenburg 414d8a514f
Add missing doc comments (#8035) 2019-03-05 10:01:20 -08:00
Pranav K 39e52578d3
Make page load async when using endpoint routing (#7938)
* Make page load async

Fixes #8016
2019-03-04 14:45:59 -08:00
Pranav K db3795b368
Put MVC's functional tests in a separate test group (#8118)
Possible fix to https://github.com/aspnet/AspNetCore/issues/7313
One of the characteristics of these failures were that the
test took long to run. The build log has warnings for
several long running tests. This might be a result of CPU
contention since mondo-ification that make MVC's functional tests
run with nearly every other test project in the solution
2019-03-01 17:52:50 -08:00
Pranav K 85c051d8da
Skipping flaky test (#8101) 2019-03-01 13:37:19 -08:00
Pranav K 1ca6202e7e
Add some additional logging to ErrorPageMiddlewareWebSite (#8049)
* Add some additional logging to ErrorPageMiddlewareWebSite

DeveloperExceptionMiddleware will log an error if rendering the exception page
throws. The test failure in https://github.com/aspnet/AspNetCore-Internal/issues/1730
suggests that we encountered an error like so but do not have anything further to go by.

This change adds logging to the test so we could identify possible issues
2019-03-01 10:49:54 -08:00
Ryan Nowak cb21edc500
Fix #7258 - remove components.server dependencies on blazor-specific plumbing (#7934)
* Removes a bunch of trivial usage of Blazor

... in names and comments where we don't specifically mean Blazor.

* Remove obsolete Startup from Components app

* Move UseBlazor into Blazor.Server

Moves UseBlazor and the related features in Blazor.Server - along with
some other general cleanup of misc shared files.

Now Components.Server has a much slimmer set of dependencies (MVC is
gone) and doesn't contain the "double startup" pattern that we
introduced (sorry).

We'll revisit UseBlazor and the dependencies there once the new
MapFallbackToFile support is available from static files.

* minor PR feedback

* Update reference assemblies

* fix broken test
2019-02-28 10:36:07 -08:00
Pranav K f79f2e3b12
Add some reference docs for MVC (#7981) 2019-02-28 09:56:55 -08:00
N. Taylor Mullen f5b6039add Add docs for Microsoft.AspNetCore.Mvc.TagHelpers.
- Also obsoleted two unused members on `ImageTagHelper`.
- Removed `NoWarn` for docs on `Microsoft.AspNetCore.Mvc.TagHelpers`.

Addresses aspnet/Docs/#10593
2019-02-27 15:42:38 -08:00
James Newton-King a6b00f0d0d
Add xml docs to RazorPagesEndpointRouteBuilderExtensions (#7992) 2019-02-28 08:22:44 +13:00
Sébastien Ros fd83f4dbb9
Using <FrameworkReference> in benchmark apps (#7957) 2019-02-27 10:27:01 -08:00
Hao Kung a2c8a34556
Reenable some helix tests (#7763)
* Fix identity UI script tests on helix
* Add OnHelix static helper method
2019-02-25 23:39:46 -08:00
Doug Bunting d515bd977f
Merge branch 'master' into merge/release/3.0-preview3-to-master 2019-02-25 15:56:46 -08:00
Chris Ross ff79e9bda5
Replace EnvironmentName with Environments #7733 (#7899) 2019-02-25 08:13:48 -08:00
Nate McMaster 5c525915cd
Update generated source code 2019-02-24 09:45:27 -08:00
Nate McMaster e02e047dcb
Merge branch 'master' into merge/release/3.0-preview3-to-master 2019-02-24 09:31:17 -08:00
Nate McMaster 1b27c9905c
Update dependencies and react to changes (#7844)
* Add workaround for dotnet/sdk#2976
* Add new restore sources
* Update BAR manifest to point to  https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json
* Obsolete WithCulture
* Add retries to dockerbuild.sh
* Ensure each test run gets a unique in-memory database
2019-02-22 19:09:08 -08:00
Pavel Krymets f1b188611a
Fix generated code (#7883) 2019-02-22 18:15:13 -08:00
Nate McMaster 7fe3b7640d
Merge branch 'release/3.0-preview3' 2019-02-22 15:07:50 -08:00
Ryan Nowak 3d448f7197 Fix #5055 use of page parameter (#7441)
This change introduces some new heuristics to make it easier to use
'page' or other resevered parameter names as parameters in URL
generation.

--

The main change here is to allow the link generation tree to *ignore* a
value passed in to URL generation when it conflicts with an endpoint's
required values.

The main concern of this feature area is "how do we tell whether you are
linking to an action or a page?". Routing attempts to do the right thing
will requiring very little from the user in terms of expressing intent.

In this case, we try to tell the difference between an attempt to generate
a link to an action due to the presence of the 'action' parameter and
absence of the 'page' parameter. This obviously doesn't work when you
want to use 'page' as a non-reserved parameter in an action. The same
case occurs for pages, but users are already used to the idea that
'action' is a reserved word in MVC.

We can loosen this restriction when the value that's supplied for 'page'
is known not to be any existing value of the 'page' route value.

This approach seems somewhat reasonable but has many of the problems inherent
to this area. When it fails (the value you want to use for 'page' causes
a conflict) - it's going to be esoteric and hard to understand.
2019-02-22 11:44:43 -08:00
Javier Calvarro Nelson 2d9cba86fd [Components] Prerrendering startup experience (#7770)
[Components] Prerrendering startup experience
* Introduces an IComponentPrerrenderer to handle Prerrendering
  * MVC registers a basic static prerrrenderer.
  * Components registers a more feature complete prerrender that will
    handle reconnection to the original circuit after prerrendering in
    the future to allow for prerrendered interactive components.
* Removes UseRazorComponents
  * Removes the SPA fallback in favor of a catch all route in
    Index.cshtml
  * Moves the framework files to be served by the default StaticFiles
    middleware in the pipeline by way of plugging specific providers
    through options.
  * Lifts UseSignalR(r => r.MapHub<ComponentHub>()) into startup and
    replaces it with a shorthand for MapHub using endpoint routing.
  * Adds extension methods to map components to selectors for a given
    hub.
* Updates the razor component templates to include prerendering and use a razor page as the entry 
   point.
2019-02-21 16:26:44 -08:00
Pavel Krymets 9355c7c1a5
Add reference assemblies support (#7764) 2019-02-21 14:33:35 -08:00
Pranav K 51e2bea403
Throw if CORS policy is configured to allow credentials and any origin (#7751)
* Throw if CORS policy is configured to allow credentials and any origin

Fixes https://github.com/aspnet/AspNetCore/issues/3106
2019-02-21 09:06:00 -08:00
Pranav K 82c323f599
Merge pull request #7771 from dotnet-maestro-bot/merge/release/2.1-to-release/2.2
[automated] Merge branch 'release/2.1' => 'release/2.2'
2019-02-20 16:28:35 -08:00
Pranav K b2a84b7b5f
Regenerate baselines for precompilation test (#7766)
* Regenerate baselines for precompilation test

Fixes https://github.com/aspnet/AspNetCore-Internal/issues/1822
2019-02-20 15:21:45 -08:00
Nate McMaster 9a2db43848
Follow-up to VS2019 conversion (#7753)
* Set VS version in file to 16.0.0.0
* Fix for restore failure on Microsoft.AspNetCore.App.Runtime.csproj
2019-02-20 11:02:38 -08:00
Nate McMaster 85ae18c723
Make Visual Studio 2019 a prerequisite to building this repo (#7005)
Changes:

* Make Visual Studio 2019 a prerequisite for building this repo
* Update .sln files
* Update Windows SDK to 17134
* Update developer docs
* Disable ANCM tests
* Update to .NET Core SDK 3.0 Preview 2
* Use Microsoft.NET.Sdk.Razor as a package consistently accross the repo
* React to changes in metadata from Microsoft.NETCore.App
* React to changes in .NET Core SDK
* Attempt to workaround CodeCheck.ps1 failure which doesn't repro locally or on different agents. Possibly due to differences in the version of the PowerShell task?
* Remove dead YML file
* Rename usages of win7-{x64,x86} to win-{x64,x86}
* Update KoreBuild to 3.0.0-build-20190219.1
2019-02-20 09:53:53 -08:00
Chris Ross 4e44025a52
Replace IHostingEnvironment with IWebHostEnvironment (#7725) 2019-02-19 21:11:52 -08:00
Matthias Laroche 7af971838e Set Content-Length to 0, when returning an empty body
When returning 416 RangeNotSatisfiable in FileResultExecutorBase, set the Content-Length based on the length of the body instead of the length of the original file.
Bugfix for  :
https://github.com/aspnet/AspNetCore/issues/4943
2019-02-19 17:54:11 -08:00
Matthias Laroche 134f28f71d Update FileResult tests to detect a bug for the status 416 RangeNotSatisfiable
Update FileResult tests to detect a bug for the status 416 RangeNotSatisfiable :
https://github.com/aspnet/AspNetCore/issues/4943
When the body is empty, the Content-Length header should be 0 to match the body length.
2019-02-19 17:54:11 -08:00
Doug Bunting 8d6d300bfc
Improve service reference filenames and class names (#7447)
- #4927
- fully-sanitize class names and filenames
  - use aspnet/AspNetCore-Tooling's `CSharpIdentifier` class
- default metadata in sequence [URI or project&document name ->] `%(DocumentPath)` -> `%(OutputPath)` -> `%(ClassName)`
  - if user sets metadata explicitly, the override affects defaults later in the sequence
- separate some nested validations and defaulting steps
  - provide default `%(DocumentName}` even if `%(DocumentPath}` is set explicitly
  - validate URI is absolute even if `%(DocumentPath}` is set explicitly

other:
- don't write out an empty Open API / Swagger file

nits:
- do not use default `%(DocumentName}` in default `%(DocumentPath)` for `<ServiceProjectReference>` items
- do not use empty URI path or query string in default `%(DocumentPath)` for `<ServiceUriReference>` items
2019-02-19 16:05:54 -08:00
Doug Bunting 14b7184c09
Improve documentation of `BinderType` and `BindingSource` properties (#7218)
- add regression test for #4939
- add `[BindProperty]` doc comments
- add `<remarks>` to `BinderType` properties that recommend setting `BindingSource` in some cases

smaller issues:
- catch invalid `BinderType` values up front
- complete `BindingSource.ModelBinding` implementation: `IValueProvider` filtering was faulty

nits:
- accept VS suggestions e.g. remove unused variables
- "model binder" -> `<see cref="IModelBinder" /> implementation` in some doc comments
2019-02-19 15:22:04 -08:00
Doug Bunting 3e0c75187c
Place limits on model binding collection size and recursion depth (#7214)
- #7052
- add MvcOptions.MaxModelBindingCollectionSize` and `MvcOptions.MaxModelBindingRecursionDepth`

nits:
- update syntax of a few `Resources.Designer.cs` files (I ran `/t:resx` on Mvc.sln)
- take VS suggestions in a few test classes
2019-02-19 15:17:56 -08:00