diff --git a/aspnetcore/data/ef-mvc/advanced.md b/aspnetcore/data/ef-mvc/advanced.md index f7dc7475a0..c6719133e8 100644 --- a/aspnetcore/data/ef-mvc/advanced.md +++ b/aspnetcore/data/ef-mvc/advanced.md @@ -57,7 +57,7 @@ To verify that the new code works correctly, select the **Departments** tab and ## Call a query to return other types -Earlier you created a student statistics grid for the About page that showed the number of students for each enrollment date. You got the data from the Students entity set (`_context.Students`) and used LINQ to project the results into a list of `EnrollmentDateGroup` view model objects. Suppose you want to write the SQL itself rather than using LINQ. To do that you need to run a SQL query that returns something other than entity objects. In EF Core 1.0, one way to do that is write ADO.NET code and get the database connection from EF. +Earlier you created a student statistics grid for the About page that showed the number of students for each enrollment date. You got the data from the Students entity set (`_context.Students`) and used LINQ to project the results into a list of `EnrollmentDateGroup` view model objects. Suppose you want to write the SQL itself rather than using LINQ. To do that you need to run a SQL query that returns something other than entity objects. In EF Core 1.0, one way to do that is to write ADO.NET code and get the database connection from EF. In *HomeController.cs*, replace the `About` method with the following code: diff --git a/aspnetcore/data/ef-mvc/intro.md b/aspnetcore/data/ef-mvc/intro.md index 76f3996afd..6296eae0de 100644 --- a/aspnetcore/data/ef-mvc/intro.md +++ b/aspnetcore/data/ef-mvc/intro.md @@ -236,7 +236,7 @@ The preceding code checks if the database exists: * If the database is not found; * It is created and loaded with test data. It loads test data into arrays rather than `List` collections to optimize performance. -* If the database if found, it takes no action. +* If the database is found, it takes no action. Update *Program.cs* with the following code: @@ -331,7 +331,7 @@ For example, if an `EmailAddress` property is added to the `Student` class, a ne ## Conventions -The amount of code written in order for the EF to to create a complete database is minimal because of the use of the conventions EF uses: +The amount of code written in order for the EF to create a complete database is minimal because of the use of the conventions EF uses: * The names of `DbSet` properties are used as table names. For entities not referenced by a `DbSet` property, entity class names are used as table names. * Entity property names are used for column names. @@ -367,7 +367,7 @@ For more information about asynchronous programming in .NET, see [Async Overview ## Limit entities fetched -See [Performance considerations](xref:data/ef-rp/intro#performance-considerations) for information on limiting the number or entities returned from a query. +See [Performance considerations](xref:data/ef-rp/intro#performance-considerations) for information on limiting the number of entities returned from a query. [!INCLUDE[s](~/includes/sql-log.md)] diff --git a/aspnetcore/fundamentals/dependency-injection.md b/aspnetcore/fundamentals/dependency-injection.md index 3bce0db11a..8c84bf2a8c 100644 --- a/aspnetcore/fundamentals/dependency-injection.md +++ b/aspnetcore/fundamentals/dependency-injection.md @@ -809,7 +809,7 @@ public class Program } ``` -It isn't necessary to create a scope for transient services, including for the `ILogger` in the preceding example (see: ). Transients don't resolve inadvertantly as singletons when resolved from the root, as scoped services would. Transients are created when requested. If a transient service happens to be disposable, then it's rooted by the container until disposal. For example, see . +It isn't necessary to create a scope for transient services, including for the `ILogger` in the preceding example (see: ). Transients don't resolve inadvertently as singletons when resolved from the root, as scoped services would. Transients are created when requested. If a transient service happens to be disposable, then it's rooted by the container until disposal. For example, see . ## Scope validation @@ -943,7 +943,7 @@ The following third-party containers can be used with ASP.NET Core apps: ### Thread safety -Create thread-safe singleton services. If a singleton service has a dependency on a transient service, the transient service may also require thread safety depending how it's used by the singleton. +Create thread-safe singleton services. If a singleton service has a dependency on a transient service, the transient service may also require thread safety depending on how it's used by the singleton. The factory method of single service, such as the second argument to [AddSingleton\(IServiceCollection, Func\)](xref:Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton*), doesn't need to be thread-safe. Like a type (`static`) constructor, it's guaranteed to be called once by a single thread. diff --git a/aspnetcore/security/authentication/scaffold-identity.md b/aspnetcore/security/authentication/scaffold-identity.md index 7da8c5f81c..3d33e63cd6 100644 --- a/aspnetcore/security/authentication/scaffold-identity.md +++ b/aspnetcore/security/authentication/scaffold-identity.md @@ -35,7 +35,7 @@ For example, `AddDbContext` and `AddDefaultIdentity` are commented out in the fo [!code-csharp[](scaffold-identity/3.1sample/StartupRemove.cs?name=snippet)] -The preceeding code comments out the code that is duplicated in *Areas/Identity/IdentityHostingStartup.cs* +The preceding code comments out the code that is duplicated in *Areas/Identity/IdentityHostingStartup.cs* Typically, apps that were created with individual accounts should ***not*** create a new data context. diff --git a/aspnetcore/security/enforcing-ssl.md b/aspnetcore/security/enforcing-ssl.md index 3b054bed4a..3e9e60308e 100644 --- a/aspnetcore/security/enforcing-ssl.md +++ b/aspnetcore/security/enforcing-ssl.md @@ -1,7 +1,7 @@ --- title: Enforce HTTPS in ASP.NET Core author: rick-anderson -description: Learn how to require HTTPS/TLS in a ASP.NET Core web app. +description: Learn how to require HTTPS/TLS in an ASP.NET Core web app. ms.author: riande ms.custom: mvc ms.date: 12/06/2019 @@ -352,7 +352,7 @@ dotnet dev-certs https --help ### Trust the HTTPS certificate with Firefox to prevent SEC_ERROR_INADEQUATE_KEY_USAGE error -The Firefox browser uses it's own certificate store, and therefore doesn't trust the [IIS Express](/iis/extensions/introduction-to-iis-express/iis-express-overview) or [Kestrel](xref:fundamentals/servers/kestrel) developer certificates. +The Firefox browser uses its own certificate store, and therefore doesn't trust the [IIS Express](/iis/extensions/introduction-to-iis-express/iis-express-overview) or [Kestrel](xref:fundamentals/servers/kestrel) developer certificates. There are two approaches to trusting the HTTPS certificate with Firefox, create a policy file or configure with the FireFox browser. Configuring with the browser creates the policy file, so the two approaches are equivalent. @@ -376,7 +376,7 @@ Add the following JSON to the Firefox policy file: } ``` -The preceding policy file makes Firefox trust certificates from the trusted certificates in the Windows certificate store. The next section provides an alternative approach to create the preceding policy file buy using the Firefox browser. +The preceding policy file makes Firefox trust certificates from the trusted certificates in the Windows certificate store. The next section provides an alternative approach to create the preceding policy file by using the Firefox browser. diff --git a/aspnetcore/security/gdpr.md b/aspnetcore/security/gdpr.md index 16e751e393..f511694772 100644 --- a/aspnetcore/security/gdpr.md +++ b/aspnetcore/security/gdpr.md @@ -1,7 +1,7 @@ --- title: General Data Protection Regulation (GDPR) support in ASP.NET Core author: rick-anderson -description: Learn how to access the GDPR extension points in a ASP.NET Core web app. +description: Learn how to access the GDPR extension points in an ASP.NET Core web app. ms.author: riande ms.custom: mvc ms.date: 07/11/2019 diff --git a/aspnetcore/signalr/javascript-client.md b/aspnetcore/signalr/javascript-client.md index 2f14cbcceb..3b1036aaa9 100644 --- a/aspnetcore/signalr/javascript-client.md +++ b/aspnetcore/signalr/javascript-client.md @@ -89,7 +89,7 @@ In the following example, the method name on the hub is `SendMessage`. The secon The `invoke` method returns a JavaScript [Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise). The `Promise` is resolved with the return value (if any) when the method on the server returns. If the method on the server throws an error, the `Promise` is rejected with the error message. Use `async` and `await` or the `Promise`'s `then` and `catch` methods to handle these cases. -JavaScript clients can also call public methods on hubs via the the [send](/javascript/api/%40microsoft/signalr/hubconnection#send-string--any---) method of the `HubConnection`. Unlike the `invoke` method, the `send` method doesn't wait for a response from the server. The `send` method returns a JavaScript `Promise`. The `Promise` is resolved when the message has been sent to the server. If there is an error sending the message, the `Promise` is rejected with the error message. Use `async` and `await` or the `Promise`'s `then` and `catch` methods to handle these cases. +JavaScript clients can also call public methods on hubs via the [send](/javascript/api/%40microsoft/signalr/hubconnection#send-string--any---) method of the `HubConnection`. Unlike the `invoke` method, the `send` method doesn't wait for a response from the server. The `send` method returns a JavaScript `Promise`. The `Promise` is resolved when the message has been sent to the server. If there is an error sending the message, the `Promise` is rejected with the error message. Use `async` and `await` or the `Promise`'s `then` and `catch` methods to handle these cases. > [!NOTE] > Using `send` doesn't wait until the server has received the message. Consequently, it's not possible to return data or errors from the server.