diff --git a/docs/architecture/blazor-for-web-forms-developers/migration.md b/docs/architecture/blazor-for-web-forms-developers/migration.md
index 5a0fb110f0fd1..7a4688bf50dbc 100644
--- a/docs/architecture/blazor-for-web-forms-developers/migration.md
+++ b/docs/architecture/blazor-for-web-forms-developers/migration.md
@@ -120,7 +120,7 @@ public class Global : HttpApplication, IContainerProviderAccessor
}
///
- /// http://docs.autofac.org/en/latest/integration/webforms.html
+ /// https://autofaccn.readthedocs.io/en/latest/integration/webforms.html
///
private void ConfigureContainer()
{
diff --git a/docs/architecture/cloud-native/distributed-data.md b/docs/architecture/cloud-native/distributed-data.md
index 6c620f0d023f0..246fd06d65c4c 100644
--- a/docs/architecture/cloud-native/distributed-data.md
+++ b/docs/architecture/cloud-native/distributed-data.md
@@ -115,7 +115,7 @@ Figure 5-7 shows an implementation of the CQRS pattern.
**Figure 5-7**. CQRS implementation
-In the previous figure, separate command and query models are implemented. Each data write operation is saved to the write store and then propagated to the read store. Pay close attention to how the data propagation process operates on the principle of [eventual consistency](http://www.cloudcomputingpatterns.org/eventual_consistency/). The read model eventually synchronizes with the write model, but there may be some lag in the process. We discuss eventual consistency in the next section.
+In the previous figure, separate command and query models are implemented. Each data write operation is saved to the write store and then propagated to the read store. Pay close attention to how the data propagation process operates on the principle of [eventual consistency](https://www.cloudcomputingpatterns.org/eventual_consistency/). The read model eventually synchronizes with the write model, but there may be some lag in the process. We discuss eventual consistency in the next section.
This separation enables reads and writes to scale independently. Read operations use a schema optimized for queries, while the writes use a schema optimized for updates. Read queries go against denormalized data, while complex business logic can be applied to the write model. As well, you might impose tighter security on write operations than those exposing reads.
diff --git a/docs/architecture/cloud-native/identity-server.md b/docs/architecture/cloud-native/identity-server.md
index b92190fb5051b..43ef5b902aeae 100644
--- a/docs/architecture/cloud-native/identity-server.md
+++ b/docs/architecture/cloud-native/identity-server.md
@@ -24,7 +24,7 @@ Typically, applications need to support some or all of the following scenarios:
In each of these scenarios, the exposed functionality needs to be secured against unauthorized use. At a minimum, this typically requires authenticating the user or principal making a request for a resource. This authentication may use one of several common protocols such as SAML2p, WS-Fed, or OpenID Connect. Communicating with APIs typically uses the OAuth2 protocol and its support for security tokens. Separating these critical cross-cutting security concerns and their implementation details from the applications themselves ensures consistency and improves security and maintainability. Outsourcing these concerns to a dedicated product like IdentityServer helps the requirement for every application to solve these problems itself.
-IdentityServer provides middleware that runs within an ASP.NET Core application and adds support for OpenID Connect and OAuth2 (see [supported specifications](http://docs.identityserver.io/en/latest/intro/specs.html)). Organizations would create their own ASP.NET Core app using IdentityServer middleware to act as the STS for all of their token-based security protocols. The IdentityServer middleware exposes endpoints to support standard functionality, including:
+IdentityServer provides middleware that runs within an ASP.NET Core application and adds support for OpenID Connect and OAuth2 (see [supported specifications](https://docs.identityserver.io/en/latest/intro/specs.html)). Organizations would create their own ASP.NET Core app using IdentityServer middleware to act as the STS for all of their token-based security protocols. The IdentityServer middleware exposes endpoints to support standard functionality, including:
- Authorize (authenticate the end user)
- Token (request a token programmatically)
@@ -90,13 +90,13 @@ IdentityServer also hosts a public demo site that can be used to test various pr
## JavaScript clients
-Many cloud-native applications leverage server-side APIs and rich client single page applications (SPAs) on the front end. IdentityServer ships a [JavaScript client](http://docs.identityserver.io/en/latest/quickstarts/4_javascript_client.html) (`oidc-client.js`) via NPM that can be added to SPAs to enable them to use IdentityServer for sign in, sign out, and token-based authentication of web APIs.
+Many cloud-native applications leverage server-side APIs and rich client single page applications (SPAs) on the front end. IdentityServer ships a [JavaScript client](https://docs.identityserver.io/en/latest/quickstarts/4_javascript_client.html) (`oidc-client.js`) via NPM that can be added to SPAs to enable them to use IdentityServer for sign in, sign out, and token-based authentication of web APIs.
## References
-- [IdentityServer documentation](http://docs.identityserver.io/en/latest/)
+- [IdentityServer documentation](https://docs.identityserver.io/en/latest/)
- [Application types](https://docs.microsoft.com/azure/active-directory/develop/app-types)
-- [JavaScript OIDC client](http://docs.identityserver.io/en/latest/quickstarts/4_javascript_client.html)
+- [JavaScript OIDC client](https://docs.identityserver.io/en/latest/quickstarts/4_javascript_client.html)
>[!div class="step-by-step"]
>[Previous](azure-active-directory.md)
diff --git a/docs/architecture/cloud-native/index.md b/docs/architecture/cloud-native/index.md
index a0b21190bd0f0..c57db7744ef98 100644
--- a/docs/architecture/cloud-native/index.md
+++ b/docs/architecture/cloud-native/index.md
@@ -39,7 +39,7 @@ All other marks and logos are property of their respective owners.
Authors:
-> **Rob Vettor**, Principal Cloud System Architect/IP Architect - [thinkingincloudnative.com](http://thinkingincloudnative.com/about/), Microsoft
+> **Rob Vettor**, Principal Cloud System Architect/IP Architect - [thinkingincloudnative.com](https://thinkingincloudnative.com/about/), Microsoft
>
> **Steve "ardalis" Smith**, Software Architect and Trainer - [Ardalis.com](https://ardalis.com)
diff --git a/docs/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication.md b/docs/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication.md
index 57b2e6e5a5bcb..ef6b0b5fa12ee 100644
--- a/docs/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication.md
+++ b/docs/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication.md
@@ -85,7 +85,7 @@ Additional topics to consider when using asynchronous communication are message
- **Udi Dahan. Clarified CQRS** \
-
+
- **Command and Query Responsibility Segregation (CQRS)** \
diff --git a/docs/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md b/docs/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md
index 618aecd963c2d..aeae7e70a4709 100644
--- a/docs/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md
+++ b/docs/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md
@@ -177,7 +177,7 @@ After the initial architecture and patterns explanation sections, the next secti
- **Udi Dahan. Service Oriented Composition** \
-
+
- **Clemens Vasters. Messaging and Microservices at GOTO 2016 (video)** \
diff --git a/docs/architecture/microservices/architect-microservice-container-applications/distributed-data-management.md b/docs/architecture/microservices/architect-microservice-container-applications/distributed-data-management.md
index 514b81214e75a..2460cfc6001e3 100644
--- a/docs/architecture/microservices/architect-microservice-container-applications/distributed-data-management.md
+++ b/docs/architecture/microservices/architect-microservice-container-applications/distributed-data-management.md
@@ -99,7 +99,7 @@ The use of asynchronous communication is explained with additional details later
- **Udi Dahan. Service Oriented Composition** \
-
+
>[!div class="step-by-step"]
>[Previous](logical-versus-physical-architecture.md)
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md
index 79b7dcac5387b..69427bde78573 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md
@@ -359,13 +359,13 @@ The reference app uses [MediatR](https://github.com/jbogard/MediatR) to propagat
- **Udi Dahan. How to create fully encapsulated Domain Models** \
-
+
- **Udi Dahan. Domain Events – Take 2** \
-
+
- **Udi Dahan. Domain Events – Salvation** \
-
+
- **Jan Kronquist. Don't publish Domain Events, return them!** \
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md
index 52ef80f0930c0..92ed863e3e4ed 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md
@@ -42,7 +42,7 @@ There is only one application architecture: the architecture of the system or en
- **Udi Dahan. Clarified CQRS** \
-
+
>[!div class="step-by-step"]
>[Previous](apply-simplified-microservice-cqrs-ddd-patterns.md)
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/index.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/index.md
index 93bbddfe9e595..d369fc675f9dc 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/index.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/index.md
@@ -58,7 +58,7 @@ DDD is a large topic with a rich set of resources for learning. You can start wi
- **Scott Millett, Nick Tune - Patterns, Principles, and Practices of Domain-Driven Design** \
-
+
##### DDD training
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md
index 307f224b1d2cc..969e5d43a855c 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md
@@ -209,7 +209,7 @@ The following example shows the simplified `CreateOrderCommand` class. This is a
// plus being able to update the data just once, when creating the object
// through the constructor.
// References on immutable commands:
-// http://cqrs.nu/Faq
+// https://cqrs.nu/Faq
// https://docs.spine3.org/motivation/immutability.html
// http://blog.gauffin.org/2012/06/griffin-container-introducing-command-support/
// https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/how-to-implement-a-lightweight-class-with-auto-implemented-properties
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-domain-model.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-domain-model.md
index 143cd1c9d7484..c6eb2ef53c79b 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-domain-model.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-domain-model.md
@@ -127,14 +127,14 @@ Identifying and working with aggregates requires research and experience. For mo
#### Additional resources
-- **Vaughn Vernon. Effective Aggregate Design - Part I: Modeling a Single Aggregate** (from ) \
-
+- **Vaughn Vernon. Effective Aggregate Design - Part I: Modeling a Single Aggregate** (from ) \
+
-- **Vaughn Vernon. Effective Aggregate Design - Part II: Making Aggregates Work Together** (from ) \
-
+- **Vaughn Vernon. Effective Aggregate Design - Part II: Making Aggregates Work Together** (from ) \
+
-- **Vaughn Vernon. Effective Aggregate Design - Part III: Gaining Insight Through Discovery** (from ) \
-
+- **Vaughn Vernon. Effective Aggregate Design - Part III: Gaining Insight Through Discovery** (from ) \
+
- **Sergey Grybniak. DDD Tactical Design Patterns** \
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md
index 4db9c99a3ed08..f168bdafb35ce 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md
@@ -172,7 +172,7 @@ For example, in the preceding OrderAggregate code example, there are several pri
- **Udi Dahan. How to create fully encapsulated Domain Models** \
-
+
> [!div class="step-by-step"]
> [Previous](microservice-domain-model.md)
diff --git a/docs/architecture/microservices/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md b/docs/architecture/microservices/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md
index 5e6a5de455459..c404e6da5af36 100644
--- a/docs/architecture/microservices/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md
+++ b/docs/architecture/microservices/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md
@@ -111,7 +111,7 @@ For production scenarios check the additional resources below, specific for Rabb
A production-ready solutions with support for RabbitMQ.
- **EasyNetQ** - Open Source .NET API client for RabbitMQ \
-
+
- **MassTransit** \
diff --git a/docs/architecture/modernize-desktop/example-migration-core.md b/docs/architecture/modernize-desktop/example-migration-core.md
index 0cb310ff2dd5e..27ef1d8e1eb35 100644
--- a/docs/architecture/modernize-desktop/example-migration-core.md
+++ b/docs/architecture/modernize-desktop/example-migration-core.md
@@ -38,7 +38,7 @@ Once you've migrated the package references, you must check each reference for c

-To check the package compatibility, you can use the tool that offers a more detailed information about versions and dependencies.
+To check the package compatibility, you can use the tool that offers a more detailed information about versions and dependencies.
Maybe the project is referencing older package versions that don't support .NET Core, but you might find newer versions that do support it. So, updating packages to newer versions is generally a good recommendation. However, you should consider that updating the package version can introduce some breaking changes that would force you to update your code.
@@ -128,7 +128,7 @@ For example, if you use configuration files (*app.config*), you may find some er
Another reason for errors is the use of the `BeginInvoke` and `EndInvoke` methods because they aren't supported on .NET Core. They aren't supported on .NET Core because they have a dependency on Remoting, which doesn't exist on .NET Core. To solve this issue, try to use the `await` keyword (when available) or the method.
-You can use compatibility analyzers to let you identify APIs and code patterns in your code that can potentially cause problems at run time with .NET Core. Go to and use the .NET API analyzer on your project.
+You can use compatibility analyzers to let you identify APIs and code patterns in your code that can potentially cause problems at run time with .NET Core. Go to and use the .NET API analyzer on your project.
## Migrating a Windows Forms application
diff --git a/docs/architecture/modernize-desktop/whats-new-dotnet-core.md b/docs/architecture/modernize-desktop/whats-new-dotnet-core.md
index d2224db8e0b1e..e2180e92d8961 100644
--- a/docs/architecture/modernize-desktop/whats-new-dotnet-core.md
+++ b/docs/architecture/modernize-desktop/whats-new-dotnet-core.md
@@ -14,7 +14,7 @@ Since its launch in 2002, .NET Framework has evolved through the years to suppor
If you're targeting only one of these platforms, you can use this model. However, in many cases you might need more than one target platform in the same solution. For example, your application may have a desktop admin part, a customer-facing web site that shares the back-end logic running on a server, and even a mobile client. In this case, you need a unified coding experience that can span all this .NET verticals.
-By the time Windows 8 was released, the concept of Portable Class Libraries (PCLs) was born. Originally, the .NET Framework was designed around the assumption that it would always be deployed as a single unit, so [factoring](http://en.wikipedia.org/wiki/Decomposition_(computer_science)) wasn't a concern. To face the problem of code sharing between verticals, the driving force was on how to refactor the framework. The idea of contracts is to provide a well-factored API surface area. Contracts are simply assemblies that you compile against and are designed with proper factoring in mind taking care of the dependencies between them.
+By the time Windows 8 was released, the concept of Portable Class Libraries (PCLs) was born. Originally, the .NET Framework was designed around the assumption that it would always be deployed as a single unit, so [factoring](https://wikipedia.org/wiki/Decomposition_(computer_science)) wasn't a concern. To face the problem of code sharing between verticals, the driving force was on how to refactor the framework. The idea of contracts is to provide a well-factored API surface area. Contracts are simply assemblies that you compile against and are designed with proper factoring in mind taking care of the dependencies between them.
This leads to reasoning about the API differences between verticals at the assembly level, as opposed to the individual API level that we had before. This aspect enabled a class library experience that can target multiple verticals, also known as portable class libraries.
diff --git a/docs/core/about.md b/docs/core/about.md
index 3ff44dc4e9c64..2a4248d930d5b 100644
--- a/docs/core/about.md
+++ b/docs/core/about.md
@@ -22,7 +22,7 @@ The [C#](../csharp/index.yml), [Visual Basic](../visual-basic/index.yml), and [F
- [Visual Studio](https://visualstudio.microsoft.com/vs/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link)
- [Visual Studio Code](https://code.visualstudio.com/download)
-Editor integration is provided, in part, by the contributors of the [OmniSharp](https://www.omnisharp.net/) and [Ionide](http://ionide.io) projects.
+Editor integration is provided, in part, by the contributors of the [OmniSharp](https://www.omnisharp.net/) and [Ionide](https://ionide.io) projects.
## APIs
@@ -63,6 +63,6 @@ Many APIs are included that satisfy common needs:
.NET Core binary distributions from Microsoft are built and tested on Microsoft-maintained servers in Azure and follow Microsoft engineering and security practices.
-[Red Hat supports .NET Core](http://redhatloves.net/) on Red Hat Enterprise Linux (RHEL). Red Hat builds .NET Core from source and makes it available in the [Red Hat Software Collections](https://developers.redhat.com/products/softwarecollections/overview/). Red Hat and Microsoft collaborate to ensure that .NET Core works well on RHEL.
+[Red Hat supports .NET Core](https://developers.redhat.com/topics/dotnet/) on Red Hat Enterprise Linux (RHEL). Red Hat builds .NET Core from source and makes it available in the [Red Hat Software Collections](https://developers.redhat.com/products/softwarecollections/overview/). Red Hat and Microsoft collaborate to ensure that .NET Core works well on RHEL.
[Tizen supports .NET Core](https://developer.tizen.org/development/training/.net-application) on Tizen platforms.
diff --git a/docs/framework/winforms/controls/how-to-display-web-style-links-with-the-windows-forms-richtextbox-control.md b/docs/framework/winforms/controls/how-to-display-web-style-links-with-the-windows-forms-richtextbox-control.md
index 2d9829439ad4d..0ff78357a21a8 100644
--- a/docs/framework/winforms/controls/how-to-display-web-style-links-with-the-windows-forms-richtextbox-control.md
+++ b/docs/framework/winforms/controls/how-to-display-web-style-links-with-the-windows-forms-richtextbox-control.md
@@ -17,7 +17,7 @@ The Windows Forms control can display We
### To link to a Web page with the RichTextBox control
-1. Set the property to a string that includes a valid URL (for example, "http://www.microsoft.com/").
+1. Set the property to a string that includes a valid URL (for example, "https://www.microsoft.com/").
2. Make sure the property is set to `true` (the default).
diff --git a/docs/framework/winforms/controls/how-to-navigate-to-a-url-with-the-webbrowser-control.md b/docs/framework/winforms/controls/how-to-navigate-to-a-url-with-the-webbrowser-control.md
index 4ebd0ac782593..1753080d7693f 100644
--- a/docs/framework/winforms/controls/how-to-navigate-to-a-url-with-the-webbrowser-control.md
+++ b/docs/framework/winforms/controls/how-to-navigate-to-a-url-with-the-webbrowser-control.md
@@ -21,11 +21,11 @@ The following code example demonstrates how to navigate the