Skip to content
Open
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions aspnetcore/fundamentals/aot/includes/aot_lib.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
### Libraries and Native AOT
### Use libraries with Native AOT

Many of the popular libraries used in ASP.NET Core projects currently have some compatibility issues when used in a project targeting Native AOT, such as:
Many popular libraries used in ASP.NET Core projects currently have some compatibility issues when they're incorporated into projects that target Native AOT, such as:

* Use of reflection to inspect and discover types.
* Conditionally loading libraries at runtime.
* Generating code on the fly to implement functionality.
* Using reflection to inspect and discover types
* Loading libraries conditionally at runtime
* Generating code on the fly to implement functionality

Libraries using these dynamic features need to be updated in order to work with Native AOT. They can be updated using tools like Roslyn source generators.
Libraries that use these dynamic features require updates to work with Native AOT. Various tools are available for applying the necessary updates, such as [Roslyn source generators](/dotnet/csharp/roslyn-sdk/#source-generators).

Library authors hoping to support Native AOT are encouraged to:
Library authors hoping to support Native AOT are encouraged to review the following articles:

* Read about [Native AOT compatibility requirements](/dotnet/core/deploying/native-aot/?tabs=net8plus).
* [Prepare the library for trimming](/dotnet/core/deploying/trimming/prepare-libraries-for-trimming).
* [Native AOT deployment](/dotnet/core/deploying/native-aot)
* [Prepare .NET libraries for trimming](/dotnet/core/deploying/trimming/prepare-libraries-for-trimming)
248 changes: 88 additions & 160 deletions aspnetcore/fundamentals/http-context.md

Large diffs are not rendered by default.

304 changes: 146 additions & 158 deletions aspnetcore/fundamentals/http-requests.md

Large diffs are not rendered by default.

283 changes: 141 additions & 142 deletions aspnetcore/fundamentals/native-aot.md

Large diffs are not rendered by default.

278 changes: 130 additions & 148 deletions aspnetcore/fundamentals/servers/kestrel/endpoints.md

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion aspnetcore/includes/credentials-warning.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
> [!WARNING]
> In the preceding example, the certificate password is stored in plain-text in `appsettings.json`. The `$CREDENTIAL_PLACEHOLDER$` token is used as a placeholder for the certificate's password. To store certificate passwords securely in development environments, see [Protect secrets in development](xref:security/app-secrets). To store certificate passwords securely in production environments, see [Azure Key Vault configuration provider](xref:security/key-vault-configuration). Development secrets shouldn't be used for production or test.
> In the example code, the certificate password is stored as plain text in the _appsettings.json_ file.
> The `$CREDENTIAL_PLACEHOLDER$` token is used as a placeholder for the certificate password.
> To store certificate passwords securely in development environments, see [Protect secrets in development](xref:security/app-secrets).
> To store certificate passwords securely in production environments, see [Azure Key Vault configuration provider](xref:security/key-vault-configuration).
> It's a best practice to not use development secrets for production or testing.
10 changes: 5 additions & 5 deletions aspnetcore/includes/http-ports.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Apps and containers are often given only a port to listen on, like port 80, without additional constraints like host or path. HTTP_PORTS and HTTPS_PORTS are config keys that specify the listening ports for the Kestrel and HTTP.sys servers. These keys may be specified as environment variables defined with the `DOTNET_` or `ASPNETCORE_` prefixes, or specified directly through any other config input, such as `appsettings.json`. Each is a semicolon-delimited list of port values, as shown in the following example:
Most configurations for apps and containers define only a port for listening, like port 80, without specifying other constraints like the host or path. HTTP_PORTS and HTTPS_PORTS are config keys that specify the listening ports for the Kestrel and HTTP.sys servers. You can specify the keys as environment variables defined with the `DOTNET_` or `ASPNETCORE_` prefixes, or set them directly through any other config input, such as the _appsettings.json_ file. Each configuration is a semicolon-delimited list of port values, as shown in the following example:

```
```json
ASPNETCORE_HTTP_PORTS=80;8080
ASPNETCORE_HTTPS_PORTS=443;8081
```

The preceding example is shorthand for the following configuration, which specifies the scheme (HTTP or HTTPS) and any host or IP.
The configuration in the example is shorthand for the following specification, which defines the scheme (HTTP or HTTPS) and any host or IP:

```
```json
ASPNETCORE_URLS=http://*:80/;http://*:8080/;https://*:443/;https://*:8081/
```

The HTTP_PORTS and HTTPS_PORTS configuration keys are lower priority and are overridden by URLS or values provided directly in code. Certificates still need to be configured separately via server-specific mechanics for HTTPS.
The HTTP_PORTS and HTTPS_PORTS configuration keys are lower priority. If other URLs or values are set directly in code, they can override the configuration keys. You still need to configure certificates separately by using server-specific mechanics for HTTPS.
4 changes: 2 additions & 2 deletions aspnetcore/includes/make-x509-cert.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
On Windows, self-signed certificates can be created using the [`New-SelfSignedCertificate` PowerShell cmdlet](/powershell/module/pki/new-selfsignedcertificate). For an unsupported example, see [`UpdateIISExpressSSLForChrome.ps1`](https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/includes/make-x509-cert/UpdateIISExpressSSLForChrome.ps1).
On Windows, self-signed certificates can be created by using the [New-SelfSignedCertificate PowerShell cmdlet](/powershell/module/pki/new-selfsignedcertificate). For an unsupported example, see the [UpdateIISExpressSSLForChrome.ps1](https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/includes/make-x509-cert/UpdateIISExpressSSLForChrome.ps1) certificate file on GitHub.

On macOS, Linux, and Windows, certificates can be created using [OpenSSL](https://www.openssl.org/).
On macOS, Linux, and Windows, create certificates can be created by using [OpenSSL](https://www.openssl.org/).
Loading