Skip to content

Links: .NET - Pass 1 #20624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Sep 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ ms.date: "01/24/2020"
---
# .NET API browser

Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below. You can learn more about the API browser [in our blog post](https://aka.ms/apibrowser). If you have any feedback, create a new issue in the [MicrosoftDocs/feedback repository on GitHub](https://github.com/MicrosoftDocs/feedback/issues).
Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below. You can learn more about the API browser [in our blog post](/teamblog/announcing-unified-dotnet-experience-on-docs). If you have any feedback, create a new issue in the [MicrosoftDocs/feedback repository on GitHub](https://github.com/MicrosoftDocs/feedback/issues).
2 changes: 1 addition & 1 deletion docs/azure/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To authenticate with libraries that don't support Azure.Identity, see the rest o

## Access Azure resources

To interact with Azure resources, such as retrieving a secret from Key Vault or storing a blob in Storage, many Azure service libraries require a connection string or keys for authentication. For example, SQL Database uses a [standard SQL connection string](https://docs.microsoft.com/azure/azure-sql/database/connect-query-dotnet-core). Service connection strings are used in other Azure services like [CosmosDB](/azure/cosmos-db/), [Azure Cache for Redis](/azure/azure-cache-for-redis/cache-dotnet-how-to-use-azure-redis-cache), and [Service Bus](/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues). You can get those strings using the Azure portal, CLI, or PowerShell. You can also use the Azure management libraries for .NET to query resources to build connection strings in your code.
To interact with Azure resources, such as retrieving a secret from Key Vault or storing a blob in Storage, many Azure service libraries require a connection string or keys for authentication. For example, SQL Database uses a [standard SQL connection string](/azure/azure-sql/database/connect-query-dotnet-core). Service connection strings are used in other Azure services like [CosmosDB](/azure/cosmos-db/), [Azure Cache for Redis](/azure/azure-cache-for-redis/cache-dotnet-how-to-use-azure-redis-cache), and [Service Bus](/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues). You can get those strings using the Azure portal, CLI, or PowerShell. You can also use the Azure management libraries for .NET to query resources to build connection strings in your code.

The methods for using a connection string vary by product. [Refer to the documentation for your Azure product](/azure/?product=featured).

Expand Down
126 changes: 63 additions & 63 deletions docs/azure/includes/dotnet-all.md

Large diffs are not rendered by default.

44 changes: 22 additions & 22 deletions docs/azure/includes/dotnet-new.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions docs/azure/landing-page.yml
Original file line number Diff line number Diff line change
Expand Up @@ -226,10 +226,10 @@ landingContent:
- linkListType: architecture
links:
- text: ".NET Microservices: Architecture for containerized .NET apps"
url: /dotnet/architecture/microservices/
url: ../architecture/microservices/index.md
- text: Architect modern web applications with ASP.NET Core and Azure
url: /dotnet/architecture/modern-web-apps-azure/
url: ../architecture/modern-web-apps-azure/index.md
- text: Containerized Docker application lifecycle with Microsoft platform and tools
url: /dotnet/architecture/containerized-lifecycle/
url: ../architecture/containerized-lifecycle/index.md
- text: Modernize existing .NET applications with Azure cloud and Windows containers
url: /dotnet/architecture/modernize-with-azure-containers/
8 changes: 4 additions & 4 deletions docs/azure/migration/app-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ For WCF, the following bindings are supported:
|--|--|
| `BasicHttp` | |
| `WSHttp` | |
| `WSDualHttpBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. |
| `NetHttpBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. |
| `NetHttpsBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. |
| `WSDualHttpBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. |
| `NetHttpBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. |
| `NetHttpsBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. |
| `BasicHttpContextBinding` | |
| `WebHttpBinding` | |
| `WSHttpContextBinding` | |
Expand All @@ -56,7 +56,7 @@ IIS5 Compatibility Mode is not supported. In Azure App Service, each web app and

#### IIS7+ schema compliance

Some elements and attributes are not defined in the Azure App Service IIS schema. If you encounter issues, consider using [XDT transforms](https://azure.microsoft.com/documentation/articles/web-sites-transform-extend/).
Some elements and attributes are not defined in the Azure App Service IIS schema. If you encounter issues, consider using [XDT transforms](/azure/app-service/configure-common).

#### Single application pool per site

Expand Down
4 changes: 2 additions & 2 deletions docs/core/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Editor integration is provided, in part, by the contributors of the [OmniSharp](

* Cloud apps with [ASP.NET Core](/aspnet/core/)
* Mobile apps with [Xamarin](/xamarin)
* IoT apps with [System.Device.GPIO](https://docs.microsoft.com/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0)
* IoT apps with [System.Device.GPIO](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0)
* Windows client apps with [WPF](../desktop-wpf/overview/index.md) and Windows Forms
* Machine learning [ML.NET](../machine-learning/index.yml)

Expand All @@ -58,7 +58,7 @@ Many APIs are included that satisfy common needs:

### Open source

[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](https://docs.microsoft.com/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](../machine-learning/index.yml).
[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](../machine-learning/index.yml).

## Support

Expand Down
4 changes: 2 additions & 2 deletions docs/core/additional-tools/xml-serializer-generator.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,5 @@ Congratulations! You have just:
## Related resources

- [Introducing XML Serialization](../../standard/serialization/introducing-xml-serialization.md)
- [How to serialize using XmlSerializer (C#)](../../csharp/programming-guide/concepts/linq/how-to-serialize-using-xmlserializer.md)
- [How to: Serialize Using XmlSerializer (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/how-to-serialize-using-xmlserializer.md)
- [How to serialize using XmlSerializer (C#)](../../standard/linq/serialize-xmlserializer.md)
- [How to: Serialize Using XmlSerializer (Visual Basic)](../../standard/linq/serialize-xmlserializer.md)
2 changes: 1 addition & 1 deletion docs/core/deploying/deploy-with-vs.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The following sections show how to use Microsoft Visual Studio to create the fol
- Self-contained deployment
- Self-contained deployment with third-party dependencies

For information on using Visual Studio to develop .NET Core applications, see [.NET Core dependencies and requirements](../install/dependencies.md?pivots=os-windows).
For information on using Visual Studio to develop .NET Core applications, see [.NET Core dependencies and requirements](../install/windows.md).

## Framework-dependent deployment

Expand Down
6 changes: 3 additions & 3 deletions docs/core/diagnostics/debug-deadlock.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ms.date: 07/20/2020

**This article applies to: ✔️** .NET Core 3.1 SDK and later versions

In this tutorial, you'll learn how to debug a deadlock scenario. Using the provided example [ASP.NET Core web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to analyze the problem, such as core dumps, core dump analysis, and process tracing.
In this tutorial, you'll learn how to debug a deadlock scenario. Using the provided example [ASP.NET Core web app](/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to analyze the problem, such as core dumps, core dump analysis, and process tracing.

In this tutorial, you will:

Expand All @@ -26,13 +26,13 @@ In this tutorial, you will:
The tutorial uses:

- [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version
- [Sample debug target - web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario
- [Sample debug target - web app](/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario
- [dotnet-trace](dotnet-trace.md) to list processes
- [dotnet-dump](dotnet-dump.md) to collect, and analyze a dump file

## Core dump generation

To investigate application unresponsiveness, a core dump or memory dump allows you to inspect the state of its threads and any possible locks that may have contention issues. Run the [sample debug](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) application using the following command from the sample root directory:
To investigate application unresponsiveness, a core dump or memory dump allows you to inspect the state of its threads and any possible locks that may have contention issues. Run the [sample debug](/samples/dotnet/samples/diagnostic-scenarios) application using the following command from the sample root directory:

```dotnetcli
dotnet run
Expand Down
12 changes: 6 additions & 6 deletions docs/core/diagnostics/debug-highcpu.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ms.date: 07/20/2020

**This article applies to: ✔️** .NET Core 3.1 SDK and later versions

In this tutorial, you'll learn how to debug an excessive CPU usage scenario. Using the provided example [ASP.NET Core web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to diagnose this scenario with several key pieces of diagnostics data.
In this tutorial, you'll learn how to debug an excessive CPU usage scenario. Using the provided example [ASP.NET Core web app](/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to diagnose this scenario with several key pieces of diagnostics data.

In this tutorial, you will:

Expand All @@ -26,13 +26,13 @@ In this tutorial, you will:
The tutorial uses:

- [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version.
- [Sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario.
- [Sample debug target](/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario.
- [dotnet-trace](dotnet-trace.md) to list processes and generate a profile.
- [dotnet-counters](dotnet-counters.md) to monitor cpu usage.

## CPU counters

Before attempting to collect diagnostics data, you need to observe a high CPU condition. Run the [sample application](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) using the following command from the project root directory.
Before attempting to collect diagnostics data, you need to observe a high CPU condition. Run the [sample application](/samples/dotnet/samples/diagnostic-scenarios) using the following command from the project root directory.

```dotnetcli
dotnet run
Expand Down Expand Up @@ -111,11 +111,11 @@ When analyzing a slow request, you need a diagnostics tool that can provide insi

### [Linux](#tab/linux)

The `perf` tool can be used to generate .NET Core app profiles. Exit the previous instance of the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios).
The `perf` tool can be used to generate .NET Core app profiles. Exit the previous instance of the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios).

Set the `COMPlus_PerfMapEnabled` environment variable to cause the .NET Core app to create a `map` file in the `/tmp` directory. This `map` file is used by `perf` to map CPU address to JIT-generated functions by name. For more information, see [Write perf map](../run-time-config/debugging-profiling.md#write-perf-map).

Run the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) in the same terminal session.
Run the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios) in the same terminal session.

```dotnetcli
export COMPlus_PerfMapEnabled=1
Expand Down Expand Up @@ -147,7 +147,7 @@ This command generates a `flamegraph.svg` that you can view in the browser to in

### [Windows](#tab/windows)

On Windows, you can use the [dotnet-trace](dotnet-trace.md) tool as a profiler. Using the previous [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios), exercise the high CPU endpoint (`https://localhost:5001/api/diagscenario/highcpu/60000`) again. While it's running within the 1-minute request, use the `collect` command as follows:
On Windows, you can use the [dotnet-trace](dotnet-trace.md) tool as a profiler. Using the previous [sample debug target](/samples/dotnet/samples/diagnostic-scenarios), exercise the high CPU endpoint (`https://localhost:5001/api/diagscenario/highcpu/60000`) again. While it's running within the 1-minute request, use the `collect` command as follows:

```dotnetcli
dotnet-trace collect -p 22884 --providers Microsoft-DotNETCore-SampleProfiler
Expand Down
10 changes: 5 additions & 5 deletions docs/core/diagnostics/debug-memory-leak.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ The tutorial uses:
- [dotnet-trace](dotnet-trace.md) to list processes.
- [dotnet-counters](dotnet-counters.md) to check managed memory usage.
- [dotnet-dump](dotnet-dump.md) to collect and analyze a dump file.
- A [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) app to diagnose.
- A [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) app to diagnose.

The tutorial assumes the sample and tools are installed and ready to use.

## Examine managed memory usage

Before you start collecting diagnostics data to help us root cause this scenario, you need to make sure you're actually seeing a memory leak (memory growth). You can use the [dotnet-counters](dotnet-counters.md) tool to confirm that.

Open a console window and navigate to the directory where you downloaded and unzipped the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/). Run the target:
Open a console window and navigate to the directory where you downloaded and unzipped the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/). Run the target:

```dotnetcli
dotnet run
Expand Down Expand Up @@ -111,7 +111,7 @@ By watching the memory usage, you can safely say that memory is growing or leaki

When analyzing possible memory leaks, you need access to the app's memory heap. Then you can analyze the memory contents. Looking at relationships between objects, you create theories on why memory isn't being freed. A common diagnostics data source is a memory dump on Windows or the equivalent core dump on Linux. To generate a dump of a .NET Core application, you can use the [dotnet-dump)](dotnet-dump.md) tool.

Using the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) previously started, run the following command to generate a Linux core dump:
Using the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) previously started, run the following command to generate a Linux core dump:

```dotnetcli
dotnet-dump collect -p 4807
Expand All @@ -128,7 +128,7 @@ Complete

Once the dump is collected, you should have sufficient information to diagnose the failed process. If the failed process is running on a production server, now it's the ideal time for short-term remediation by restarting the process.

In this tutorial, you're now done with the [Sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) and you can close it. Navigate to the terminal that started the server, and press <kbd>Ctrl+C</kbd>.
In this tutorial, you're now done with the [Sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) and you can close it. Navigate to the terminal that started the server, and press <kbd>Ctrl+C</kbd>.

### Analyze the core dump

Expand All @@ -141,7 +141,7 @@ dotnet-dump analyze core_20190430_185145
Where `core_20190430_185145` is the name of the core dump you want to analyze.

> [!NOTE]
> If you see an error complaining that *libdl.so* cannot be found, you may have to install the *libc6-dev* package. For more information, see [Prerequisites for .NET Core on Linux](../install/dependencies.md?pivots=os-linux).
> If you see an error complaining that *libdl.so* cannot be found, you may have to install the *libc6-dev* package. For more information, see [Prerequisites for .NET Core on Linux](../install/linux.md).

You'll be presented with a prompt where you can enter SOS commands. Commonly, the first thing you want to look at is the overall state of the managed heap:

Expand Down
4 changes: 2 additions & 2 deletions docs/core/diagnostics/event-counter-perf.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ The tutorial uses:

- [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version.
- [dotnet-counters](dotnet-counters.md) to monitor event counters.
- A [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) app to diagnose.
- A [sample debug target](/samples/dotnet/samples/diagnostic-scenarios) app to diagnose.

## Get the source

The sample application will be used as a basis for monitoring. The [sample ASP.NET Core repository](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) is available from the samples browser. You download the zip file, extract it once downloaded, and open it in your favorite IDE. Build and run the application to ensure that it works properly, then stop the application.
The sample application will be used as a basis for monitoring. The [sample ASP.NET Core repository](/samples/dotnet/samples/diagnostic-scenarios) is available from the samples browser. You download the zip file, extract it once downloaded, and open it in your favorite IDE. Build and run the application to ensure that it works properly, then stop the application.

## Implement an EventSource

Expand Down
Loading