diff --git a/.ghal.rules.json b/.ghal.rules.json
index c796d5c491..7148f4d95d 100644
--- a/.ghal.rules.json
+++ b/.ghal.rules.json
@@ -18,6 +18,9 @@
"(?i).*master\/aspnetcore\/host-and-deploy\/blazor.*": {
"labels-add": "Blazor"
},
+ "(?i).*master\/aspnetcore\/security\/blazor.*": {
+ "labels-add": "Blazor"
+ },
"(?i).*master\/aspnetcore\/tutorials\/*blazor*.*": {
"labels-add": "Blazor"
},
diff --git a/aspnetcore/docfx.json b/aspnetcore/docfx.json
index 94021e5b1f..d7e415b7ed 100644
--- a/aspnetcore/docfx.json
+++ b/aspnetcore/docfx.json
@@ -84,7 +84,8 @@
"signalr/**/**.md": "aspnetcore-signalr",
"test/**/**.md": "aspnetcore-test",
"tutorials/**/**.md": "aspnetcore-tutorials",
- "web-api/**/**.md": "aspnetcore-webapi"
+ "web-api/**/**.md": "aspnetcore-webapi",
+ "whats-new/**/**.md": "aspnetcore-whatsnew"
},
"ms.topic": {
"getting-started/**/**.md": "tutorial",
diff --git a/aspnetcore/host-and-deploy/directory-structure.md b/aspnetcore/host-and-deploy/directory-structure.md
index 71df09e9d1..09a28aacff 100644
--- a/aspnetcore/host-and-deploy/directory-structure.md
+++ b/aspnetcore/host-and-deploy/directory-structure.md
@@ -24,8 +24,8 @@ The *publish* directory contains the app's deployable assets produced by the [do
| App Type | Directory Structure |
| -------- | ------------------- |
-| [Framework-dependent Executable (FDE)](/dotnet/core/deploying/#framework-dependent-executables-fde) |
- publish†
- Views† MVC apps; if views aren't precompiled
- Pages† MVC or Razor Pages apps, if pages aren't precompiled
- wwwroot†
- *.dll files
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- {ASSEMBLY NAME}{.EXTENSION} *.exe* extension on Windows, no extension on macOS or Linux
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS deployments)
- createdump ([Linux createdump utility](https://github.com/dotnet/coreclr/blob/master/Documentation/botr/xplat-minidump-generation.md#configurationpolicy))
- *.so (Linux shared object library)
- *.a (macOS archive)
- *.dylib (macOS dynamic library)
|
-| [Self-contained Deployment (SCD)](/dotnet/core/deploying/#self-contained-deployments-scd) | - publish†
- Views† MVC apps, if views aren't precompiled
- Pages† MVC or Razor Pages apps, if pages aren't precompiled
- wwwroot†
- *.dll files
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- {ASSEMBLY NAME}.exe
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS deployments)
|
+| [Framework-dependent Executable (FDE)](/dotnet/core/deploying/#framework-dependent-executables-fde) | - publish†
- Views† MVC apps; if views aren't precompiled
- Pages† MVC or Razor Pages apps, if pages aren't precompiled
- wwwroot†
- \*.dll files
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- {ASSEMBLY NAME}{.EXTENSION} *.exe* extension on Windows, no extension on macOS or Linux
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS deployments)
- createdump ([Linux createdump utility](https://github.com/dotnet/coreclr/blob/master/Documentation/botr/xplat-minidump-generation.md#configurationpolicy))
- \*.so (Linux shared object library)
- \*.a (macOS archive)
- \*.dylib (macOS dynamic library)
|
+| [Self-contained Deployment (SCD)](/dotnet/core/deploying/#self-contained-deployments-scd) | - publish†
- Views† MVC apps, if views aren't precompiled
- Pages† MVC or Razor Pages apps, if pages aren't precompiled
- wwwroot†
- \*.dll files
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- {ASSEMBLY NAME}.exe
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS deployments)
|
†Indicates a directory
diff --git a/aspnetcore/mvc/views/layout.md b/aspnetcore/mvc/views/layout.md
index 6d52590f1e..8aeb0dbc89 100644
--- a/aspnetcore/mvc/views/layout.md
+++ b/aspnetcore/mvc/views/layout.md
@@ -103,7 +103,7 @@ The body and every section in a Razor page must be either rendered or ignored.
## Importing Shared Directives
-Views and pages can use Razor directives to importing namespaces and use [dependency injection](dependency-injection.md). Directives shared by many views may be specified in a common *_ViewImports.cshtml* file. The `_ViewImports` file supports the following directives:
+Views and pages can use Razor directives to import namespaces and use [dependency injection](dependency-injection.md). Directives shared by many views may be specified in a common *_ViewImports.cshtml* file. The `_ViewImports` file supports the following directives:
* `@addTagHelper`
* `@removeTagHelper`
diff --git a/aspnetcore/tutorials/first-web-api/samples/3.0/TodoApiDTO/Controllers/TodoItemsController.cs b/aspnetcore/tutorials/first-web-api/samples/3.0/TodoApiDTO/Controllers/TodoItemsController.cs
index bbd6c9aa23..dc1d65aaca 100644
--- a/aspnetcore/tutorials/first-web-api/samples/3.0/TodoApiDTO/Controllers/TodoItemsController.cs
+++ b/aspnetcore/tutorials/first-web-api/samples/3.0/TodoApiDTO/Controllers/TodoItemsController.cs
@@ -31,17 +31,14 @@ namespace TodoApi.Controllers
[HttpGet("{id}")]
public async Task> GetTodoItem(long id)
{
- var todoItemDTO = await _context.TodoItems
- .Where(x => x.Id == id)
- .Select(x => ItemToDTO(x))
- .SingleAsync();
+ var todoItem = await _context.TodoItems.FindAsync(id);
- if (todoItemDTO == null)
+ if (todoItem == null)
{
return NotFound();
}
- return todoItemDTO;
+ return ItemToDTO(todoItem);
}
[HttpPut("{id}")]
diff --git a/aspnetcore/whats-new/2020-02.md b/aspnetcore/whats-new/2020-02.md
new file mode 100644
index 0000000000..031d8fa609
--- /dev/null
+++ b/aspnetcore/whats-new/2020-02.md
@@ -0,0 +1,126 @@
+---
+title: "ASP.NET Core docs: What's new for February 2020"
+description: "What's new in ASP.NET Core docs for February 2020."
+ms.date: 03/02/2020
+---
+
+# ASP.NET Core docs: What's new for February 2020
+
+This article lists some of the significant changes to docs during this period.
+
+## Blazor
+
+### New articles
+
+- [ASP.NET Core Blazor advanced scenarios](../blazor/advanced-scenarios.md)
+ - Split Blazor JS Interop topic
+ - Split Razor Components topic
+- [Call .NET methods from JavaScript functions in ASP.NET Core Blazor](../blazor/call-dotnet-from-javascript.md) - Split Blazor JS Interop topic
+- [Call JavaScript functions from .NET methods in ASP.NET Core Blazor](../blazor/call-javascript-from-dotnet.md) - Split Blazor JS Interop topic
+- [ASP.NET Core Blazor data binding](../blazor/data-binding.md) - Split Razor Components topic
+- [ASP.NET Core Blazor event handling](../blazor/event-handling.md) - Split Razor Components topic
+- [ASP.NET Core Blazor globalization and localization](../blazor/globalization-localization.md) - Split Razor Components topic
+- [ASP.NET Core Blazor hosting model configuration](../blazor/hosting-model-configuration.md) - Split out advanced Blazor hosting model content
+- [Integrate ASP.NET Core Razor components into Razor Pages and MVC apps](../blazor/integrate-components.md) - Split Razor Components topic
+- [ASP.NET Core Blazor templated components](../blazor/templated-components.md) - Split Razor Components topic
+
+### Updated articles
+
+- [ASP.NET Core Blazor advanced scenarios](../blazor/advanced-scenarios.md)
+ - Split Blazor JS Interop topic
+ - Split Razor Components topic
+- [Create and use ASP.NET Core Razor components](../blazor/components.md) - Blazor binding content and layout updates
+- [ASP.NET Core Blazor JavaScript interop](../blazor/javascript-interop.md) - Add content for performing large data transfers in Blazor Server apps
+
+## Fundamentals
+
+### Updated articles
+
+- [Session and app state in ASP.NET Core](../fundamentals/app-state.md) - App state prep
+- [Configuration in ASP.NET Core](../fundamentals/configuration/index.md) - Apply versioning to entire doc
+- [HTTP.sys web server implementation in ASP.NET Core](../fundamentals/servers/httpsys.md) - Apply versioning to entire doc
+
+## gRPC
+
+### Updated articles
+
+- [Logging and diagnostics in gRPC on .NET](../grpc/diagnostics.md) - Add gRPC diagnostics content
+
+## Hosting and deployment
+
+### Updated articles
+
+- [Common errors reference for Azure App Service and IIS with ASP.NET Core](../host-and-deploy/azure-iis-errors-reference.md) - Apply versioning to entire doc
+- [Development-time IIS support in Visual Studio for ASP.NET Core](../host-and-deploy/iis/development-time-iis-support.md) - Apply versioning to entire doc
+- [Host ASP.NET Core on Windows with IIS](../host-and-deploy/iis/index.md) - Apply versioning to entire doc
+- [Host and deploy ASP.NET Core](../host-and-deploy/index.md) - Apply versioning to entire doc
+- [Configure ASP.NET Core to work with proxy servers and load balancers](../host-and-deploy/proxy-load-balancer.md) - Apply versioning to entire doc
+- [Host ASP.NET Core in a Windows Service](../host-and-deploy/windows-service.md) - Apply versioning to entire doc
+
+## MVC
+
+### Updated articles
+
+- [Areas in ASP.NET Core](../mvc/controllers/areas.md) - Prepare areas for dual monikers
+
+## Performance
+
+### Updated articles
+
+- [Distributed caching in ASP.NET Core](../performance/caching/distributed.md) - Apply versioning to entire doc
+- [Response Caching Middleware in ASP.NET Core](../performance/caching/middleware.md) - Apply versioning to entire doc
+- [Response compression in ASP.NET Core](../performance/response-compression.md) - Apply versioning to entire doc
+
+## Razor Pages
+
+### Updated articles
+
+- [Razor Pages route and app conventions in ASP.NET Core](../razor-pages/razor-pages-conventions.md) - Apply versioning to entire doc
+
+## Security
+
+### New articles
+
+- [ASP.NET Core 2.1 MVC SameSite cookie sample](../security/samesite/mvc21.md) - Add new doc and sample for ASP.NET Core 2.1 MVC with SameSite cookies
+- [ASP.NET Core 2.1 Razor Pages SameSite cookie sample](../security/samesite/rp21.md) - Add new doc and sample for ASP.NET Core 2.1 Razor Pages with SameSite cookies
+- [ASP.NET Core 3.1 Razor Pages SameSite cookie sample](../security/samesite/rp31.md) - Add new doc and sample for ASP.NET Core 3.1 Razor Pages with SameSite cookies
+
+### Updated articles
+
+- [Azure Key Vault Configuration Provider in ASP.NET Core](../security/key-vault-configuration.md) - Apply versioning to entire doc
+
+## Testing
+
+### Updated articles
+
+- [Troubleshoot ASP.NET Core on Azure App Service and IIS](../test/troubleshoot-azure-iis.md) - Apply versioning to entire doc
+
+## Tutorials
+
+### New articles
+
+- [Use ASP.NET Core SignalR with Blazor WebAssembly](../tutorials/signalr-blazor-webassembly.md) - Add new doc for using ASP.NET Core SignalR with Blazor WebAssembly
+
+### Updated articles
+
+- [Use ASP.NET Core SignalR with TypeScript and Webpack](../tutorials/signalr-typescript-webpack.md) - Update tutorial for Visual Studio 2019 and ASP.NET Core 3.1
+
+## Community contributors
+
+The following people have contributed to ASP.NET Core docs in February 2020. Thank you! You can learn how to contribute by following the links under "Get involved" in the [what's new landing page](index.yml).
+
+- [serpent5](https://github.com/serpent5) - Kirk Larkin (6)
+- [alan-agius4](https://github.com/alan-agius4) - Alan Agius (1)
+- [damienbod](https://github.com/damienbod) - damienbod (1)
+- [ishchenkoviacheslav](https://github.com/ishchenkoviacheslav) (1)
+- [mariocatch](https://github.com/mariocatch) - mariocatch (1)
+- [martinmladenov](https://github.com/martinmladenov) - Martin Mladenov (1)
+- [Marusyk](https://github.com/Marusyk) - Roman Marusyk (1)
+- [MintPlayer](https://github.com/MintPlayer) (1)
+- [mohsinnasir](https://github.com/mohsinnasir) - Mohsin Nasir (1)
+- [ovebastiansen](https://github.com/ovebastiansen) (1)
+- [PureKrome](https://github.com/PureKrome) - Pure Krome (1)
+- [reidhaegele](https://github.com/reidhaegele) - Reid H. (1)
+- [RobJohnston](https://github.com/RobJohnston) - Rob Johnston (1)
+- [simskij](https://github.com/simskij) - Simon Aronsson (1)
+- [sopes](https://github.com/sopes) (1)
diff --git a/aspnetcore/whats-new/index.yml b/aspnetcore/whats-new/index.yml
index ad2f07f9ec..4d75564717 100644
--- a/aspnetcore/whats-new/index.yml
+++ b/aspnetcore/whats-new/index.yml
@@ -7,13 +7,15 @@ metadata:
title: ASP.NET Core documentation - What's new?
description: "Learn about new and updated content in ASP.NET Core docs."
ms.topic: landing-page
- ms.date: 01/17/2020
+ ms.date: 03/02/2020
landingContent:
- title: "Find ASP.NET Core docs updates"
linkLists:
- linkListType: whats-new
links:
+ - text: February 2020
+ url: 2020-02.md
- text: January 2020
url: 2020-01.md
- text: December 2019
diff --git a/aspnetcore/whats-new/toc.yml b/aspnetcore/whats-new/toc.yml
index 9cb0bd698e..26480b4f97 100644
--- a/aspnetcore/whats-new/toc.yml
+++ b/aspnetcore/whats-new/toc.yml
@@ -5,6 +5,8 @@
- name: 2020
expanded: true
items:
+ - name: February
+ href: 2020-02.md
- name: January
href: 2020-01.md
- name: 2019