Mistakes are caught early
A wrong setup shows up before a visitor sees it: when an editor saves a page, and in the log when the site starts or a template changes.
| Problem | Saving the page | The log at start | A request |
|---|---|---|---|
| a page's template is not made for its type | refused | error | |
| a page has no template, and two templates fit its type equally | refused | a note | error |
| two code defaults fit a type equally (a type with two base types) | refused | error | error |
| a plain template, and no selector to render it | error, when there are no selectors | error | |
| a template or code default names a view, action or Razor Page that does not exist | error | the framework's error | |
| a template lists a type that is not in the datamodel | warning |
The log also reports a target whose rendering system was not added, and a controller action with attribute routing (chapter 9). A code default that decides per page names nothing in advance, so the log cannot check it.