Skip to content

Commit

Permalink
Merge branch 'main' of github.com:dotnet/docs into new-conceptual-ai2
Browse files Browse the repository at this point in the history
  • Loading branch information
gewarren committed Apr 24, 2024
2 parents 1c7a8f3 + bc2d72c commit 0b13cd6
Show file tree
Hide file tree
Showing 406 changed files with 8,086 additions and 8,799 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/clean-repo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:
branch: create-cleanrepo-pull-request/patch
title: "Monthly chores: Automated repo cleanup"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
dependabot-yml-path: ".github/dependabot.yml"
- name: Create pull request
if: github.event_name == 'workflow_dispatch' || github.repository_owner == 'dotnet'
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:
branch: create-dependabotconfig-pull-request/patch
title: "Update dependabot.yml - automatically."
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/whats-new.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
savedir: './docs/whats-new'

- name: create-pull-request
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:
branch: create-whatsnew-pull-request/patch
title: "What's new article"
Expand Down
3 changes: 1 addition & 2 deletions .openpublishing.redirection.core.json
Original file line number Diff line number Diff line change
Expand Up @@ -1154,8 +1154,7 @@
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-runsettings.md",
"redirect_url": "/dotnet/core/testing/unit-testing-platform-runsettings",
"redirect_document_id": true
"redirect_url": "/dotnet/core/testing/unit-testing-platform-extensions-vstest-bridge#runsettings-support"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-telemetry.md",
Expand Down
135 changes: 133 additions & 2 deletions .openpublishing.redirection.csharp.json
Original file line number Diff line number Diff line change
Expand Up @@ -1348,6 +1348,10 @@
"source_path_from_root": "/docs/csharp/linq/perform-a-subquery-on-a-grouping-operation.md",
"redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data"
},
{
"source_path_from_root": "/docs/csharp/linq/linq-to-objects.md",
"redirect_url": "/dotnet/csharp/linq/introduction-to-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/perform-grouped-joins.md",
"redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations"
Expand All @@ -1372,6 +1376,30 @@
"source_path_from_root": "/docs/csharp/linq/query-expression-basics.md",
"redirect_url": "/dotnet/csharp/linq/get-started/query-expression-basics"
},
{
"source_path_from_root": "/docs/csharp/linq/query-a-collection-of-objects.md",
"redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/return-a-query-from-a-method.md",
"redirect_url": "/dotnet/csharp/linq/get-started/features-that-support-linq#expressions-as-data"
},
{
"source_path_from_root": "/docs/csharp/linq/dynamically-specify-predicate-filters-at-runtime.md",
"redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/handle-null-values-in-query-expressions.md",
"redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/handle-exceptions-in-query-expressions.md",
"redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/store-the-results-of-a-query-in-memory.md",
"redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries"
},
{
"source_path_from_root": "/docs/csharp/linq/write-linq-queries.md",
"redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries"
Expand Down Expand Up @@ -1965,7 +1993,7 @@
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/expression-trees/debugview-syntax.md",
"redirect_url": "/dotnet/csharp/programming-guide/concepts/linq/how-to-use-expression-trees-to-build-dynamic-queries"
"redirect_url": "/dotnet/csharp/linq/how-to-build-dynamic-queries"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/expression-trees/how-to-use-expression-trees-to-build-dynamic-queries.md",
Expand Down Expand Up @@ -2004,6 +2032,70 @@
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/classification-of-standard-query-operators-by-manner-of-execution.md",
"redirect_url": "/dotnet/csharp/linq/query-a-collection-of-objects"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-split-a-file-into-many-files-by-using-groups-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-join-content-from-dissimilar-files-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-compute-column-values-in-a-csv-text-file-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-characters-in-a-string-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-strings"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-count-occurrences-of-a-word-in-a-string-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-strings"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-sort-or-filter-text-data-by-any-word-or-field-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-strings"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-sentences-that-contain-a-specified-set-of-words-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-strings"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-combine-linq-queries-with-regular-expressions.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-strings"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-populate-object-collections-from-multiple-sources-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-collections"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-combine-and-compare-string-collections-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-collections"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-an-arraylist-with-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-collections"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-find-the-set-difference-between-two-lists-linq.md",
"redirect_url": "/dotnet/csharp/linq/how-to-query-collections"
},
{
"source_path_from_root": "/docs/csharp/linq/group-results-by-contiguous-keys.md",
"redirect_url": "/dotnet/csharp/linq/how-to-extend-linq"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-use-expression-trees-to-build-dynamic-queries.md",
"redirect_url": "/dotnet/csharp/linq/how-to-build-dynamic-queries"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-add-custom-methods-for-linq-queries.md",
"redirect_url": "/dotnet/csharp/linq/how-to-extend-linq"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/query-expression-syntax-for-standard-query-operators.md",
"redirect_url": "/dotnet/csharp/linq/standard-query-operators/"
Expand Down Expand Up @@ -2945,7 +3037,46 @@
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/visual-studio-ide-and-tools-support-for-linq.md",
"redirect_url": "/dotnet/csharp/linq/"

},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq.md",
"redirect_url": "/dotnet/csharp/linq/get-started/walkthrough-writing-queries-linq"
},
{
"source_path_from_root": "/docs/csharp/linq/walkthrough-writing-queries-linq.md",
"redirect_url": "/dotnet/csharp/linq/get-started/walkthrough-writing-queries-linq"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/linq-and-file-directories.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-files-with-a-specified-attribute-or-name.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-group-files-by-extension-linq.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-the-total-number-of-bytes-in-a-set-of-folders-linq.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-compare-the-contents-of-two-folders-linq.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-the-largest-file-or-files-in-a-directory-tree-linq.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-for-duplicate-files-in-a-directory-tree-linq.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/linq/how-to-query-the-contents-of-files-in-a-folder-lin.md",
"redirect_url": "/dotnet/csharp/linq//how-to-query-files-and-directories"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/concepts/object-oriented-programming.md",
Expand Down
2 changes: 1 addition & 1 deletion docs/ai/azure-ai-for-dotnet-developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ ms.custom: devx-track-dotnet, devx-track-dotnet-ai

This article provides documentation, samples, and other resources for learning how to develop applications that use Azure OpenAI Service and other Azure AI Services.

[!INCLUDE [include-file-from-azure-dev-docs-pr](~/azure-dev-docs-pr/articles/intro/includes/azure-ai-for-developers-dotnet.md)]
[!INCLUDE [include-file-from-azure-dev-docs-pr](~/azure-dev-docs-pr/articles/ai/includes/azure-ai-for-developers-dotnet.md)]
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ms.custom: devx-track-dotnet, devx-track-dotnet-ai

# Scale Azure OpenAI for .NET chat using RAG with Azure Container Apps

[!INCLUDE [aca-load-balancer-intro](~/azure-dev-docs-pr/articles/intro/includes//scaling-load-balancer-introduction-azure-container-apps.md)]
[!INCLUDE [aca-load-balancer-intro](~/azure-dev-docs-pr/articles/ai/includes//scaling-load-balancer-introduction-azure-container-apps.md)]

## Prerequisites

Expand All @@ -32,15 +32,15 @@ ms.custom: devx-track-dotnet, devx-track-dotnet-ai

---

[!INCLUDE [scaling-load-balancer-aca-procedure.md](~/azure-dev-docs-pr/articles/intro/includes//scaling-load-balancer-procedure-azure-container-apps.md)]
[!INCLUDE [scaling-load-balancer-aca-procedure.md](~/azure-dev-docs-pr/articles/ai/includes//scaling-load-balancer-procedure-azure-container-apps.md)]

[!INCLUDE [redeployment-procedure](~/azure-dev-docs-pr/articles/intro/includes//redeploy-procedure-chat.md)]
[!INCLUDE [redeployment-procedure](~/azure-dev-docs-pr/articles/ai/includes//redeploy-procedure-chat.md)]

[!INCLUDE [logs](~/azure-dev-docs-pr/articles/intro/includes//scaling-load-balancer-logs-azure-container-apps.md)]
[!INCLUDE [logs](~/azure-dev-docs-pr/articles/ai/includes//scaling-load-balancer-logs-azure-container-apps.md)]

[!INCLUDE [capacity.md](~/azure-dev-docs-pr/articles/intro/includes//scaling-load-balancer-capacity.md)]
[!INCLUDE [capacity.md](~/azure-dev-docs-pr/articles/ai/includes//scaling-load-balancer-capacity.md)]

[!INCLUDE [aca-cleanup](~/azure-dev-docs-pr/articles/intro/includes//scaling-load-balancer-cleanup-azure-container-apps.md)]
[!INCLUDE [aca-cleanup](~/azure-dev-docs-pr/articles/ai/includes//scaling-load-balancer-cleanup-azure-container-apps.md)]

## Sample code

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/maui/preface.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This eBook provides guidance on building cross-platform enterprise apps using .N

The guide provides architectural guidance for developing adaptable, maintainable, and testable .NET MAUI enterprise apps. Guidance is provided on how to implement MVVM, dependency injection, navigation, validation, and configuration management, while maintaining loose coupling. In addition, there's also guidance on performing authentication and authorization with IdentityServer, accessing data from containerized microservices, and unit testing.

The guide comes with source code for the [eShopOnContainers multi-platform app](https://github.com/dotnet-architecture/eShopOnContainers/tree/master/src/Mobile), and source code for the [eShopOnContainers reference app](https://github.com/dotnet-architecture/eShopOnContainers). The eShopOnContainers multi-platform app is a cross-platform enterprise app developed using .NET MAUI, which connects to a series of containerized microservices known as the eShopOnContainers reference app. However, the eShopOnContainers multi-platform app can be configured to consume data from mock services for those who wish to avoid deploying the containerized microservices.
The guide comes with source code for the [eShopOnContainers multi-platform app](https://github.com/dotnet-architecture/eShopOnContainers/tree/main/src/Mobile), and source code for the [eShopOnContainers reference app](https://github.com/dotnet-architecture/eShopOnContainers). The eShopOnContainers multi-platform app is a cross-platform enterprise app developed using .NET MAUI, which connects to a series of containerized microservices known as the eShopOnContainers reference app. However, the eShopOnContainers multi-platform app can be configured to consume data from mock services for those who wish to avoid deploying the containerized microservices.

## What's left out of this guide's scope

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,6 @@ Currently, Swashbuckle consists of five internal NuGet packages under the high-l
After you have installed these NuGet packages in your Web API project, you need to configure Swagger in the _Program.cs_ class, as in the following **simplified** code:

```csharp
// Add framework services.
builder.Services.AddSwaggerGen(options =>
Expand All @@ -377,12 +376,16 @@ builder.Services.AddSwaggerGen(options =>
// Other startup code...
app.UseSwagger()
.UseSwaggerUI(c =>
app.UseSwagger();
if (app.Environment.IsDevelopment())
{
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
```
}
```

Once this is done, you can start your application and browse the following Swagger JSON and UI endpoints using URLs like these:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The primary mechanism in ASP.NET Core for identifying an application's users is
> [!TIP]
> ASP.NET Core 2.1 and later provides [ASP.NET Core Identity](/aspnet/core/security/authentication/identity) as a [Razor Class Library](/aspnet/core/razor-pages/ui-class), so you won't see much of the necessary code in your project, as was the case for previous versions. For details on how to customize the Identity code to suit your needs, see [Scaffold Identity in ASP.NET Core projects](/aspnet/core/security/authentication/scaffold-identity).
The following code is taken from the ASP.NET Core Web Application MVC 3.1 project template with individual user account authentication selected. It shows how to configure ASP.NET Core Identity using Entity Framework Core in the _Program.cs_ file.
The following code is taken from the ASP.NET Core Web Application MVC project template with individual user account authentication selected. It shows how to configure ASP.NET Core Identity using Entity Framework Core in the _Program.cs_ file.

```csharp
//...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ In web-based authentication, there are typically up to five actions that may be

There are a number of common techniques for performing authentication in web applications. These are referred to as schemes. A given scheme will define actions for some or all of the above options. Some schemes only support a subset of actions, and may require a separate scheme to perform those it does not support. For example, the OpenId-Connect (OIDC) scheme doesn't support Sign-in or Sign-out, but is commonly configured to use Cookie authentication for this persistence.

In your ASP.NET Core application, you can configure a `DefaultAuthenticateScheme` as well as optional specific schemes for each of the actions described above. For example, `DefaultChallengeScheme`, `DefaultForbidScheme`, etc. Calling [`AddIdentity<TUser,TRole>`](https://github.com/dotnet/aspnetcore/blob/release/3.1/src/Identity/Core/src/IdentityServiceCollectionExtensions.cs#L38-L102) configures a number of aspects of the application and adds many required services. It also includes this call to configure the authentication scheme:
In your ASP.NET Core application, you can configure a `DefaultAuthenticateScheme` as well as optional specific schemes for each of the actions described above. For example, `DefaultChallengeScheme` and `DefaultForbidScheme`. Calling <xref:Microsoft.Extensions.DependencyInjection.IdentityServiceCollectionExtensions.AddIdentity%2A> configures a number of aspects of the application and adds many required services. It also includes this call to configure the authentication scheme:

```csharp
builder.Services.AddAuthentication(options =>
Expand Down
Loading

0 comments on commit 0b13cd6

Please sign in to comment.