Commit Graph

27752 Commits

Author SHA1 Message Date
Ryan Nowak 765304aad9 React to breaking changes in MVC 2015-11-20 16:04:30 -08:00
Chris R 9d19a27b6b #481 Add the DNX runtime to the path when lanching test processes. 2015-11-20 15:45:57 -08:00
apxoht 535fdf3356 Removed unnecessary call to MetadataProvider.GetModelExplorerForType in Controller.TryValidateModel 2015-11-20 15:41:42 -08:00
Ryan Nowak 8682fe0cfd Replace ActionBindingContext with ControllerContext
This change introduces ControllerContext for inside of Controllers, and
controller-specific extensibility points. ControllerContext carries with
it the model binding infrastructure needed to do all of the things that
controllers need to do.
2015-11-20 15:32:37 -08:00
Pranav K ca3e4669dc Updating tests to use moq.netcore 2015-11-20 14:40:50 -08:00
Pavel Krymets 6ee745f7f5 Fix tests 2015-11-20 13:59:05 -08:00
Pavel Krymets 6a719ab95d Remove webroot fallback to approot 2015-11-20 13:37:08 -08:00
Stephen Halter 0dbf108353 Smarter unpinning of MemoryPoolBlock2 in SocketOutput 2015-11-20 12:59:53 -08:00
ryanbrandenburg c49547245b * Remove un-used function and prevent jQuery confusion 2015-11-20 12:51:11 -08:00
Daniel Kraemer 7bb3ccf201 Fixed possibly wrong registry path
Your version of this script opens/creates registry path "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\4.0.30319.0\AutoGenKeys\$sid"
I think the correct path should be "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeys\$sid"
2015-11-20 21:37:08 +01:00
Nate McMaster 9db4940c5d Increase connect timeout in music store tests 2015-11-20 11:42:37 -08:00
N. Taylor Mullen 43aabcb2d6 Order `TagHelperExecutionContext.TagHelpers` without `.OrderBy`.
- By using linq we created several `OrderedEnumerable` allocations.

#601
2015-11-20 11:13:55 -08:00
Doug Bunting 62978229c4 Ease unit testing of `Controller.TryValidateModel()`
- #3586
- reverse conditions to access `_options.Value` only when test has set up an `IStringLocalizerFactory`
2015-11-20 10:37:07 -08:00
N. Taylor Mullen 2dc13b523d React to aspnet/Razor#358.
- Removed `WriteTagHelperAsync` methods from `RazorPage`.
- Moved `WriteTagHelperAsync` tests into Razor since `TagHelperOutput` is now an `IHtmlContent`.
- Updated code generation test files.

aspnet/Razor#358
2015-11-20 10:05:48 -08:00
Stephen Halter 2572256d3f Use MemoryPool2 for SocketOutput Buffers
Add ProducingStart and ProducingComplete methods to ISocketOutput.
These new methods can help prevent double buffering when encoding.
2015-11-20 04:41:33 -08:00
Ben Adams 9d852632c0 Remove _nullBuffer
Was meant to be removed as part of #335

/cc @rynowak
2015-11-20 05:51:25 +00:00
John Luo d78abf267e Missed update when reacting to removing ApplicationServices from HttpContext 2015-11-19 21:07:33 -08:00
John Luo 888f1523fe Reacting to ApplicationServices removal from HttpContext 2015-11-19 17:42:50 -08:00
John Luo 73fd257844 Reacting to ApplicationServices removal from HttpContext 2015-11-19 17:03:31 -08:00
John Luo 46cd4ac1f0 Reacting to ApplicationServices removal from HttpContext 2015-11-19 16:32:58 -08:00
John Luo da7fe362c9 Reacting to ApplicationServices removal from HttpContext 2015-11-19 16:32:19 -08:00
N. Taylor Mullen 6b43ebc88b Update code generation tests to account for new `TagHelperOutput`.
- Add `TagHelperOutput` unit tests.

#358
2015-11-19 16:32:08 -08:00
N. Taylor Mullen e8327eeec7 Lazily initialize `TagHelperOutput`s `Content` properties.
- Added backing fields to each of the content properties and added null propagation checks throughout the class.

#358
2015-11-19 16:32:06 -08:00
N. Taylor Mullen bdf869c3d5 Make `TagHelperOutput` an `IHtmlContent`.
- This allows users to write `TagHelperOutput` directly to an `IHtmlContent` accepting `TextWriter`.
- This also enables us to inspect backing fields for all of the various contents to lazily initialize them.

#358
2015-11-19 16:32:03 -08:00
Ben Adams 174ec739bb Don't log ODEs thrown from _abortedCts.Cancel 2015-11-20 00:30:08 +00:00
Chris R 1c40548928 Add LoggingConnectionFilter. 2015-11-19 16:28:45 -08:00
Pavel Krymets f25aab8df7 React to hosting changes 2015-11-19 16:12:50 -08:00
Pranav K 6f5b20660e Skip tests that rely on back slashes as part separator on Linux
Fixes #191
2015-11-19 15:50:05 -08:00
Doug Bunting 79d74127b9 Add temporary workarounds for aspnet/External#50 and aspnet/Mvc#3587 2015-11-19 15:50:00 -08:00
Ben Adams 3c7431aa35 Change disconnect to abort cts 2015-11-19 23:25:31 +00:00
Ryan Nowak d6bda0ec11 CompilerCache should not compile multiple assemblies for the same page.
Fixes #3469
2015-11-19 15:12:15 -08:00
Hao Kung 620622f260 Include error_desc/error_uri as well for OAuth 2015-11-19 15:06:20 -08:00
Pranav K 36c744ff29 Use the new line character to check if the CodeWriter buffer ends in a line feed.
Fixes #577
2015-11-19 15:05:31 -08:00
Pavel Krymets 04c30c8bb7 Flow configuration via IHostingEnvironment 2015-11-19 14:18:45 -08:00
Ben Adams 58d8c851c5 Remove CreateLinkedTokenSource
Resolves  #407
2015-11-19 21:50:10 +00:00
Cesar Blum Silveira 307e020703 Don't crash the server if a connection filter throws synchronously. 2015-11-19 13:27:43 -08:00
Pavel Krymets 0249c6181c Fix functional unit test after hosting changes 2015-11-19 12:26:54 -08:00
John Luo 825f82d7e0 Reacting to ApplicationServices removal from HttpContext 2015-11-19 09:40:46 -08:00
John Luo 67aa2546a8 Removing ApplicationServices from HttpContext #466 2015-11-19 09:34:38 -08:00
Pranav K 155bde0fcf Pass in the area name instead of the view name to a parameter that
requires an area name.

Fixes #3556
2015-11-18 17:50:14 -08:00
Doug Bunting 95b3d2c1dd Address PR comments
- removed `isMainPage` parameter to `GetPage()` and `FindPage()`
2015-11-18 15:59:46 -08:00
Doug Bunting 3be6167aa0 Switch concepts from misnamed `isPartial` to `isMainPage`
- `true` has the opposite meaning now but most changes are due to new parameters names in `IViewEngine`
  - use name names in `Microsoft.AspNet.Mvc.ViewFound` and not found events
- remove `IRazorPage.IsPartial` and `RazorView.IsPartial`
  - remove `IsPartial` properties from `Microsoft.AspNet.Mvc.Razor.BeginInstrumentationContext` and end events
- add parameter checks to `RazorView` constructor; instances are not retrieved from DI

nits:
- remove unused `cacheKey` parameter from `RazorViewEngine.CreateCacheResult()`
- correct duplicate test names in `RazorPageTest`
  - also `...OnPageExecutionListenerContext` -> `...OnPageExecutionContext`
2015-11-18 15:59:37 -08:00
Doug Bunting cf30bb730f PR comments and some smallish cleanup
- `IRazorViewEngine.MakePathAbsolute()` -> `GetAbsolutePath()`
- set `IsPartial` on all `IRazorPage` instances
- improve consistency of methods in `HtmlHelperPartialExtensions`
  - a couple unnecessarily passed `htmlHelper.ViewData`
  - add missing tests of these extension methods
- restore parameter checks in `CompositeViewEngine`
- reduce `List<string>` and remove enumerator allocations in `CompositeViewEngine`

nits:
- correct a few comments
- use `<seealso/>`
2015-11-18 15:59:28 -08:00
Doug Bunting d1fe824b5d Improve `SearchLocations` handling
- do not blindly use `FindPage()` / `FindView()` result in `Exception.Message` or returned results
  - failure scenarios involve new `Any()` calls but rarely additional `List<string>()` allocations
- change `ViewEngine_ViewNotFound` resource to be consistent with similar errors
  - remove trailing period at end of searched locations list

nit: remove remaining `null` checks of `SearchedLocations` in not found cases; never `null` then
2015-11-18 15:59:20 -08:00
Doug Bunting 08dd77d8c7 Add relative view path support
- #3307
- relative paths are now supported in `View()` calls from components and view components,
  `Html.PartialAsync()` and similar calls, and `RazorPage.Layout` settings.
  - support absolute paths, relative paths, and view location lookups consistently / everywhere
  - support view paths in `TemplateRenderer` e.g. passing an absolute path to `Html.EditorFor()`
- take a big swing at the `IRazorViewEngine` and `IViewEngine` interfaces
  - split lookups (view names) from navigation (view paths)
  - remove `Partial` separation; use parameters to set `IsPartial` properties
- correct `ViewContext` copy constructor and add unit test
- extend unit tests to cover relative paths
  - fix existing tests to handle newly-required extension in an absolute path
- add functional test that chains relative paths

nits:
- remove some YOLO line wrapping
- `""` -> `string.Empty`
2015-11-18 15:59:11 -08:00
Pavel Krymets 7c8b37bcc7 Do not add IHttpContextAccessor to DI by default 2015-11-18 15:03:03 -08:00
Pavel Krymets 349b2f3963 Add HttpContextAccessor because Hostring doesn't do it by default 2015-11-18 14:44:35 -08:00
Chris R 2f2ca234a5 Enable detailed startup errors by default. 2015-11-18 14:01:40 -08:00
Ryan Nowak 42acfe43ad Fix aspnet/Mvc#3196 Razor Compilation Allocations
This change significantly reduces the amount of string and List<ISymbol>
allocations that occur during compilation by changing the way
LiteralChunks are combined.

This is a low impact fix that addresses the performance issue, the design
issues that caused it still exist.

The problem here lies in what Razor fundamentally does - it parses HTML/C#
into tokens, and then combines them back into 'chunks' a representation
friendly to code generation. When presenting with a large block of static
HTML, Razor parses it into individual HTML tokens, and then tries to join
them in back into a single chunk for rendering. Due to details of Razor's
representation of chunks/tokens, the process of combining literals is too
expensive.

Mainly, what's done here is to not try to combine instances of
LiteralChunk. The process of merging them is too expensive and requires
lots of interm List<ISymbol> and string allocations.

Instead we produce a new 'chunk' ParentLiteralChunk, which doesn't do so
much up-front computing. Various pieces of the code that deal with
LiteralChunk need to be updated to deal with ParentLiteralChunk also,
which is the bulk of the changes here.

Note that we still have the potential for LOH allocations to occur during
codegen, but it's likely to occur O(1) for each large block of HTML
instead of O(N) as it did in the old code.
2015-11-18 12:51:11 -08:00
Pavel Krymets 09f54d6857 Fix build 2015-11-18 12:38:28 -08:00