Treat actions with a dynamic constraint or httpmethod constraint as
'better' than those with just route constraints.
This is the first criteria used to filter down the 'best' match, so it's
applied before parameter-arity.
1. Using dictionaries instead of lists to look up Artists and Genres by name
2. Sample data insertion time decreased to 333ms from 619 ms with this change.
An exception thrown in a layout (or for that matter anything that is a rendering time exception)
is not bubbling to the end user.
The reason is that the StreamWrite is flushing because it's in a dispose pattern.
The solution is to wrap the stream and prevent writes/flushes if an exception has been thrown.
At the same time we stop writing BOM out to html files by default.
Also specified charset explicitly - so there is matches the encoding of the page.
1. Enabling a work around to add an album to the store (Due to bug# https://github.com/aspnet/WebFx/issues/339) currently its not possible to create / edit an album in the store.
2. Removing a not necessary route from the webFx routes - A previous CR feedback.
A bug in authorization filter at a controller level failing to honor a [AllowAnonymous]
override at an action level was fixed. Modifying the sample to use the fix.
- copy over legacy `Editor*()` extensions and default editor templates
- get working in the new world
- usual `var`, `String` -> `string`, `internal` -> `public`, namespaces, ...
- longest overloads into `IHtmlHelper[<TModel>]` and implementation classes
- clean up `ViewContext.ViewData` -> `ViewData`, trailing whitespace, long lines
- remove `MultilineTextTemplate()` since `TextArea()` doesn't exist yet
- remove `ColorInputTemplate()` since `Color` type doesn't exist
- use `html.Label()`, not `LabelExtensions.LabelHelper()`: equivalent helper
is protected. only downside is potential `ModelMetadata` re-discovery.
- rename `HtmlInputTemplateHelper()` -> `GenerateTextBox()`
- copy over `Html5DateRenderingMode` and `html.Html5DateRenderingMode` property
- and get them working in new world
- hook the default editor templates up
- use `Editor()`, `EditorFor()`, `EditorForModel()` in MVC sample
- add an on-disk editor template to MVC sample