diff --git a/aspnet/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4.md b/aspnet/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4.md index f972783418..d981d94f90 100644 --- a/aspnet/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4.md +++ b/aspnet/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4.md @@ -107,7 +107,7 @@ The following code shows the `Gizmos` synchronous method and the `GizmosAsync` a Inside of the `GetGizmosAsync` method body another asynchronous method, `GetGizmosAsync` is called. `GetGizmosAsync` immediately returns a `Task>` that will eventually complete when the data is available. Because you don't want to do anything else until you have the gizmo data, the code awaits the task (using the **await** keyword). You can use the **await** keyword only in methods annotated with the **async** keyword. -The **await** keyword does not block the thread until the task is complete. It signs up the rest of the method as a callback on the task, and immediately returns. When the awaited task eventually completes, it will invoke that callback and thus resume the execution of the method right where it left off. For more information on using the [await](https://msdn.microsoft.com/en-us/library/hh156528(VS.110).aspx) and [async](https://msdn.microsoft.com/en-us/library/hh156513(VS.110).aspx) keywords and the [Task](https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx) namespace, see the [async references](#asyncRefs) section. +The **await** keyword does not block the thread until the task is complete. It signs up the rest of the method as a callback on the task, and immediately returns. When the awaited task eventually completes, it will invoke that callback and thus resume the execution of the method right where it left off. For more information on using the [await](https://msdn.microsoft.com/en-us/library/hh156528(VS.110).aspx) and [async](https://msdn.microsoft.com/en-us/library/hh156513(VS.110).aspx) keywords and the [Task](https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx) namespace, see the [async references](https://docs.microsoft.com/dotnet/csharp/language-reference/keywords/async). The following code shows the `GetGizmos` and `GetGizmosAsync` methods. diff --git a/aspnet/web-forms/overview/older-versions-security/membership/creating-user-accounts-cs.md b/aspnet/web-forms/overview/older-versions-security/membership/creating-user-accounts-cs.md index b14506aaa8..3b45be47e0 100644 --- a/aspnet/web-forms/overview/older-versions-security/membership/creating-user-accounts-cs.md +++ b/aspnet/web-forms/overview/older-versions-security/membership/creating-user-accounts-cs.md @@ -26,7 +26,7 @@ by [Scott Mitchell](https://twitter.com/ScottOnWriting) In the [preceding tutorial](creating-the-membership-schema-in-sql-server-cs.md) we installed the application services schema in a database, which added the tables, views, and stored procedures needed by the `SqlMembershipProvider` and `SqlRoleProvider`. This created the infrastructure we will need for the remainder of the tutorials in this series. In this tutorial we will explore using the Membership framework (via the `SqlMembershipProvider`) to create new user accounts. We will see how to create new users programmatically and through ASP.NET's built-in CreateUserWizard control. -In addition to learning how to create new user accounts, we will also need to update the demo website we first created in the *[An Overview of Forms Authentication](../introduction/an-overview-of-forms-authentication-cs.md)* tutorial and then enhanced in the *[Forms Authentication Configuration and Advanced Topics](#_msocom_3)* tutorial. Our demo web application has a login page that validates users' credentials against hard-coded username/password pairs. Moreover, `Global.asax` includes code that creates custom `IPrincipal` and `IIdentity` objects for authenticated users. We will update the login page to validate users' credentials against the Membership framework and remove the custom principal and identity logic. +In addition to learning how to create new user accounts, we will also need to update the demo website we first created in the *[An Overview of Forms Authentication](../introduction/an-overview-of-forms-authentication-cs.md)* tutorial and then enhanced in the * Forms Authentication Configuration and Advanced Topics* tutorial. Our demo web application has a login page that validates users' credentials against hard-coded username/password pairs. Moreover, `Global.asax` includes code that creates custom `IPrincipal` and `IIdentity` objects for authenticated users. We will update the login page to validate users' credentials against the Membership framework and remove the custom principal and identity logic. Let's get started! diff --git a/aspnet/web-forms/overview/performance-and-caching/using-asynchronous-methods-in-aspnet-45.md b/aspnet/web-forms/overview/performance-and-caching/using-asynchronous-methods-in-aspnet-45.md index 51c4dafd40..6b2480c725 100644 --- a/aspnet/web-forms/overview/performance-and-caching/using-asynchronous-methods-in-aspnet-45.md +++ b/aspnet/web-forms/overview/performance-and-caching/using-asynchronous-methods-in-aspnet-45.md @@ -124,7 +124,7 @@ The asynchronous version: Inside of the `GetGizmosSvcAsync` method body another asynchronous method, `GetGizmosAsync` is called. `GetGizmosAsync` immediately returns a `Task>` that will eventually complete when the data is available. Because you don't want to do anything else until you have the gizmo data, the code awaits the task (using the **await** keyword). You can use the **await** keyword only in methods annotated with the **async** keyword. -The **await** keyword does not block the thread until the task is complete. It signs up the rest of the method as a callback on the task, and immediately returns. When the awaited task eventually completes, it will invoke that callback and thus resume the execution of the method right where it left off. For more information on using the [await](https://msdn.microsoft.com/en-us/library/hh156528(VS.110).aspx) and [async](https://msdn.microsoft.com/en-us/library/hh156513(VS.110).aspx) keywords and the [Task](https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx) namespace, see the [async references](#asyncRefs) section. +The **await** keyword does not block the thread until the task is complete. It signs up the rest of the method as a callback on the task, and immediately returns. When the awaited task eventually completes, it will invoke that callback and thus resume the execution of the method right where it left off. For more information on using the [await](https://msdn.microsoft.com/en-us/library/hh156528(VS.110).aspx) and [async](https://msdn.microsoft.com/en-us/library/hh156513(VS.110).aspx) keywords and the [Task](https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx) namespace, see the [async references](https://docs.microsoft.com/dotnet/csharp/language-reference/keywords/async). The following code shows the `GetGizmos` and `GetGizmosAsync` methods.