aspnetcore/src
Ryan Nowak 5a291d0bc0 Fix #4212 area ambient value page->controller
This change enhances our ambient value logic to also deal with required
values. In 2.2 we introduced a 'required values' semantic to allow route
values to appear "to the left" of a route pattern for the purpose of
ambient values copying. This is a complicated way of saying "when you
like to a different endpoint then discard the ambient values".

What we didn't consider is that some ambient values are special (like
area). So basically, we'll allow an ambient value to be used if it's
part of the required values - even if we've already decided to discard
the ambient values.

This is a pretty surgical fix and only affected the desired scenario
based on tests.

-----

I also removed an optimization that I think is broken. I put an earlier
optimization in place that attempted to count ambient values as they
were "seen" to try and avoid some extra copying. This copying loop has a
cost even if it no-ops which is what I was trying to prevent.

Unfortunately since we added 'required values' - it's now possible for
an ambient value to be double-counted, which makes this optimization
incorrect.
2019-02-11 15:58:33 -08:00
..
Antiforgery [Antiforgery][Components][CORS] Remove obsolete APIs (#7459) 2019-02-11 10:38:31 -08:00
Azure
Components [Antiforgery][Components][CORS] Remove obsolete APIs (#7459) 2019-02-11 10:38:31 -08:00
DataProtection
DefaultBuilder
Features/JsonPatch
Framework
Hosting
Html/Abstractions
Http Fix #4212 area ambient value page->controller 2019-02-11 15:58:33 -08:00
Identity
Installers
Middleware [Antiforgery][Components][CORS] Remove obsolete APIs (#7459) 2019-02-11 10:38:31 -08:00
MusicStore
Mvc Fix #4212 area ambient value page->controller 2019-02-11 15:58:33 -08:00
ProjectTemplates Background Worker template (#7401) 2019-02-11 14:53:50 -08:00
Razor
Security
Servers Remove PlatformBenchmarks from sln (#7440) 2019-02-11 12:38:20 -08:00
Shared
SignalR
SiteExtensions
Tools
submodules