Merge branch 'main' into merge/release/8.0-to-main

This commit is contained in:
William Godbe 2023-09-18 09:16:40 -07:00 коммит произвёл GitHub
Родитель 51dc5735a0 3960bc3405
Коммит 812cf6276d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
82 изменённых файлов: 475 добавлений и 533 удалений

Просмотреть файл

@ -144,8 +144,14 @@ variables:
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
- name: _SignType
value: test
- name: runCodeQL3000
value: ${{ or(eq(variables['Build.Reason'], 'Schedule'), and(eq(variables['Build.Reason'], 'Manual'), eq(parameters.runCodeQL3000, 'true'))) }}
- ${{ if or(eq(variables['Build.Reason'], 'Schedule'), and(eq(variables['Build.Reason'], 'Manual'), eq(parameters.runCodeQL3000, 'true'))) }}:
- name: runCodeQL3000
value: true
- ${{ else }}:
- name: runCodeQL3000
value: false
- name: Codeql.Enabled
value: false
- template: /eng/common/templates/variables/pool-providers.yml
stages:
@ -277,17 +283,15 @@ stages:
$(WindowsArm64LogArgs)
displayName: Build ARM64
# Submit a manual build (in public or internal project) to validate changes to site extensions.
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- script: .\src\SiteExtensions\build.cmd
-ci
-noBuildRepoTasks
-pack
-noBuildDeps
-noBuildNative
$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
displayName: Build SiteExtension
- script: .\src\SiteExtensions\build.cmd
-ci
-noBuildRepoTasks
-pack
-noBuildDeps
-noBuildNative
$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
displayName: Build SiteExtension
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If
# https://github.com/dotnet/arcade/issues/1957 is resolved, consider running code-signing inline with the other

Просмотреть файл

@ -13,6 +13,7 @@ schedules:
include:
- release/6.0
- release/7.0
- release/8.0
always: false
variables:

72
.github/fabricbot.json поставляемый
Просмотреть файл

@ -1496,7 +1496,7 @@
]
},
{
"label": "area-runtime",
"label": "area-networking",
"pathFilter": [
"src/Servers/",
"src/Http/",
@ -1633,7 +1633,7 @@
{
"name": "addedToMilestone",
"parameters": {
"milestoneName": ".NET 8 Planning"
"milestoneName": ".NET 9 Planning"
}
},
{
@ -1649,12 +1649,12 @@
"issues",
"project_card"
],
"taskName": "Comment when an investigation issue moved to .NET 8 Planning",
"taskName": "Comment when an investigation issue moved to .NET 9 Planning",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "To learn more about what this message means, what to expect next, and how this issue will be handled you can read our [Triage Process document](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md).\nWe're moving this issue to the .NET 8 Planning milestone for future evaluation / consideration. Because it's not immediately obvious what is causing this behavior, we would like to keep this around to collect more feedback, which can later help us determine how to handle this. We will re-evaluate this issue, during our next planning meeting(s).\nIf we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact work."
"comment": "To learn more about what this message means, what to expect next, and how this issue will be handled you can read our [Triage Process document](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md).\nWe're moving this issue to the .NET 9 Planning milestone for future evaluation / consideration. Because it's not immediately obvious what is causing this behavior, we would like to keep this around to collect more feedback, which can later help us determine how to handle this. We will re-evaluate this issue, during our next planning meeting(s).\nIf we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact work."
}
}
]
@ -2491,7 +2491,7 @@
{
"name": "addMilestone",
"parameters": {
"milestoneName": "8.0-rc1"
"milestoneName": "9.0-preview1"
}
}
],
@ -2510,7 +2510,7 @@
{
"name": "addedToMilestone",
"parameters": {
"milestoneName": ".NET 8 Planning"
"milestoneName": ".NET 9 Planning"
}
},
{
@ -2531,12 +2531,12 @@
"issues",
"project_card"
],
"taskName": "Comment when an issue is moved to `.NET 8 Planning` milestone",
"taskName": "Comment when an issue is moved to `.NET 9 Planning` milestone",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "Thanks for contacting us.\n\nWe're moving this issue to the `.NET 8 Planning` milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). \nIf we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.\nTo learn more about what to expect next and how this issue will be handled you can read more about our triage process [here](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md)."
"comment": "Thanks for contacting us.\n\nWe're moving this issue to the `.NET 9 Planning` milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). \nIf we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.\nTo learn more about what to expect next and how this issue will be handled you can read more about our triage process [here](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md)."
}
}
]
@ -3236,7 +3236,7 @@
{
"name": "addMilestone",
"parameters": {
"milestoneName": "6.0.22"
"milestoneName": "6.0.23"
}
}
]
@ -3280,7 +3280,7 @@
{
"name": "addMilestone",
"parameters": {
"milestoneName": "7.0.11"
"milestoneName": "7.0.12"
}
}
]
@ -3304,7 +3304,7 @@
{
"name": "prTargetsBranch",
"parameters": {
"branchName": "release/8.0-preview7"
"branchName": "release/8.0-rc1"
}
}
]
@ -3315,7 +3315,7 @@
"issues",
"project_card"
],
"taskName": "[Milestone Assignments] Assign Milestone to PRs merged to release/8.0-preview7 branch",
"taskName": "[Milestone Assignments] Assign Milestone to PRs merged to release/8.0-rc1 branch",
"actions": [
{
"name": "removeMilestone",
@ -3324,7 +3324,51 @@
{
"name": "addMilestone",
"parameters": {
"milestoneName": "8.0-preview7"
"milestoneName": "8.0-rc1"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "merged"
}
},
{
"name": "prTargetsBranch",
"parameters": {
"branchName": "release/8.0"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "[Milestone Assignments] Assign Milestone to PRs merged to release/8.0 branch",
"actions": [
{
"name": "removeMilestone",
"parameters": {}
},
{
"name": "addMilestone",
"parameters": {
"milestoneName": "8.0-rc2"
}
}
]
@ -3357,7 +3401,7 @@
{
"name": "addReply",
"parameters": {
"comment": "Thank you for filing this issue. In order for us to investigate this issue, please provide [a minimalistic repro project](https://github.com/dotnet/aspnetcore/blob/main/docs/repro.md) that illustrates the problem."
"comment": "Thank you for filing this issue. In order for us to investigate this issue, please provide [a minimal repro project](https://github.com/dotnet/aspnetcore/blob/main/docs/repro.md) that illustrates the problem without unnecessary code. Please share with us in a public GitHub repo because we cannot open ZIP attachments, and don't include any confidential content."
}
},
{

2
.github/workflows/markdownlint.yml поставляемый
Просмотреть файл

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:

4
.github/workflows/runtime-sync.yml поставляемый
Просмотреть файл

@ -21,14 +21,14 @@ jobs:
runs-on: windows-latest
steps:
- name: Checkout aspnetcore
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Test this script using changes in a fork
repository: 'dotnet/aspnetcore'
path: aspnetcore
ref: main
- name: Checkout runtime
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Test this script using changes in a fork
repository: 'dotnet/runtime'

Просмотреть файл

@ -1,6 +1,10 @@
<Project>
<Import Project="eng\Common.props" />
<PropertyGroup>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
</PropertyGroup>
<PropertyGroup>
<!-- $(RepoRoot) is normally set globally and Arcade overrides it to ensure a trailing slash. -->
<RepoRoot Condition=" '$(RepoRoot)' == '' OR !HasTrailingSlash('$(RepoRoot)') ">$(MSBuildThisFileDirectory)</RepoRoot>

Просмотреть файл

@ -4,6 +4,8 @@
<clear />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />

Просмотреть файл

@ -15,7 +15,6 @@ Typically, we will update the Major Version before updating the TFM. This is bec
2. Change `PreReleaseVersionIteration` to `1`.
3. Change `PreReleaseVersionLabel` to `alpha`.
4. Change `PreReleaseBrandingLabel` to `Alpha $(PreReleaseVersionIteration)`.
* In [src/Framework/test/TestData.cs](/src/Framework/test/TestData.cs), update `ListedTargetingPackAssemblies` by incrementing the AssemblyVersion of all aspnetcore assemblies by 1 major version. Once dotnet/runtime updates their AssemblyVersions, we also need to update those in this file. They typically make that change at the same time as their TFM update, but we change our AssemblyVersions as soon as we update branding.
* Add entries to [NuGet.config](/NuGet.config) for the new Major Version's feed. This just means copying the current feeds (e.g. `dotnet8` and `dotnet8-transport`) and adding entries for the new feeds (`dotnet9` and `dotnet9-transport`). Make an effort to remove old feeds here at the same time.
* In [src/ProjectTemplates/Shared/TemplatePackageInstaller.cs](/src/ProjectTemplates/Shared/TemplatePackageInstaller.cs), add an entry to `_templatePackages` for `Microsoft.DotNet.Web.ProjectTemplates` matching the new version.
* In [eng/targets/CSharp.Common.props](/eng/targets/CSharp.Common.props) for the previous release branch, modify the `<LangVersion>` to be a hardcoded version instead of `preview`. (e.g. If main is being updated to 8.0.0 modify the `<LangVersion>` in the release/7.0 branch). See https://learn.microsoft.com/dotnet/csharp/language-reference/configure-language-version#defaults to find what language version to use.
@ -24,6 +23,7 @@ Typically, we will update the Major Version before updating the TFM. This is bec
* The result of `.\eng\scripts\mark-shipped.cmd` should be checked in to the release branch as well, as part of the RTM release.
* Update `.\eng\Baseline.xml` to reflect the set of RTM packages that were just shipped. Then, `dotnet run` `.\eng\tools\BaselineGenerator\BaselineGenerator.csproj`, which will update `.\eng\Baseline.Designer.props`. If RTM hasn't shipped yet, do this in a separate PR once it has.
* Update `.\eng\PlatformManifest.txt` and `.\eng\PackageOverrides.txt`. Download the just released RTM version of the `Microsoft.AspNetCore.App.Ref` package, and copy over the files from the `data` folder. This can be done in the same PR as the one updating `.\eng\Baseline.xml` and `.\eng\Baseline.Designer.props` (see https://github.com/dotnet/aspnetcore/pull/49269).
* Update [helix-matrix.yml](https://github.com/dotnet/aspnetcore/blob/436556163a671259c8b14ae1c90d72767af62d18/.azure/pipelines/helix-matrix.yml#L12-L16) to list the currently active release branches
### Validation

Просмотреть файл

@ -4,31 +4,29 @@ The below table lists all the `area-`labels used in the **dotnet/aspnetcore** re
The **dotnet/runtime** repo has [its own list](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md).
| **area** | **owners** | **lead** | |
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|------------------------------------------------|-------------------------|
| **[area-blazor](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-blazor)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-commandlinetools](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-commandlinetools)** | [@amcasey](https://github.com/amcasey) [@captainsafia](https://github.com/captainsafia) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | dev certs, dotnet watch |
| **[area-dataprotection](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-dataprotection)** | [@amcasey](https://github.com/amcasey) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-efcore](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-efcore)** | (EF Core issues are in [the EF Core repo](https://github.com/dotnet/efcore/issues)) | [@ajcvickers](https://github.com/ajcvickers) | |
| **[area-grpc](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-grpc)** | [@JamesNK](https://github.com/JamesNK) [@mgravell](https://github.com/mgravell) |[@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-healthchecks](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-healthchecks)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-hosting](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-hosting)** | [@halter73](https://github.com/halter73) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-identity](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-identity)** | [@halter73](https://github.com/halter73) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-infrastructure](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-infrastructure)** | [@wtgodbe](https://github.com/wtgodbe) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-middleware](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-middleware)** | [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-minimal](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-minimal)** | [@captainsafia](https://github.com/captainsafia) [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-mvc](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-mvc)** | [@captainsafia](https://github.com/captainsafia) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-networking](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-networking)** | [@amcasey](https://github.com/amcasey) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-openapi](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-openapi)** | [@captainsafia](https://github.com/captainsafia) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-perf](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-perf)** | [@sebastienros](https://github.com/sebastienros) | | |
| **[area-razor.compiler](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-razor.compiler)** | | | |
| **[area-razor.tooling](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-razor.tooling)** | | | |
| **[area-routing](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-routing)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-runtime](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-runtime)** | [@BrennanConroy](https://github.com/BrennanConroy) [@amcasey](https://github.com/amcasey) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-security](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-security)** | | [@blowdart](https://github.com/blowdart) | |
| **[area-signalr](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-signalr)** | [@BrennanConroy](https://github.com/BrennanConroy) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-ui-rendering](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-ui-rendering)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-web-frameworks](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-web-frameworks)** | [@captainsafia](https://github.com/captainsafia) [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **area** | **owners** | **lead** | **notes** |
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|----------------------------------------------------------|-------------------------|
| **[area-blazor](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-blazor)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-commandlinetools](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-commandlinetools)** | [@amcasey](https://github.com/amcasey) [@captainsafia](https://github.com/captainsafia) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | dev certs, user jwts, user secrets, dotnet watch ([@tmat](https://github.com/tmat)) |
| **[area-dataprotection](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-dataprotection)** | [@amcasey](https://github.com/amcasey) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-efcore](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-efcore)** | | [@ajcvickers](https://github.com/ajcvickers) | Home repo: https://github.com/dotnet/efcore/ |
| **[area-grpc](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-grpc)** | [@JamesNK](https://github.com/JamesNK) [@mgravell](https://github.com/mgravell) | [@adityamandaleeka](https://github.com/adityamandaleeka) | Home repo: https://github.com/grpc/grpc-dotnet/ |
| **[area-healthchecks](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-healthchecks)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-hosting](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-hosting)** | [@halter73](https://github.com/halter73) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-identity](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-identity)** | [@halter73](https://github.com/halter73) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-infrastructure](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-infrastructure)** | [@wtgodbe](https://github.com/wtgodbe) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-middleware](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-middleware)** | [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-minimal](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-minimal)** | [@captainsafia](https://github.com/captainsafia) [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-mvc](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-mvc)** | [@captainsafia](https://github.com/captainsafia) | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-networking](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-networking)** | [@amcasey](https://github.com/amcasey) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-perf](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-perf)** | [@sebastienros](https://github.com/sebastienros) | | |
| **[area-razor.compiler](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-razor.compiler)** | | | |
| **[area-razor.tooling](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-razor.tooling)** | | | |
| **[area-routing](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-routing)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-security](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-security)** | | [@blowdart](https://github.com/blowdart) | |
| **[area-signalr](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-signalr)** | [@BrennanConroy](https://github.com/BrennanConroy) | [@adityamandaleeka](https://github.com/adityamandaleeka) | |
| **[area-ui-rendering](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-ui-rendering)** | | [@mkArtakMSFT](https://github.com/mkArtakMSFT) | |
| **[area-web-frameworks](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-web-frameworks)** | [@captainsafia](https://github.com/captainsafia) [@mitchdenny](https://github.com/mitchdenny) | [@adityamandaleeka](https://github.com/adityamandaleeka) | Label is deprecated |
## Community Triagers

Просмотреть файл

@ -40,6 +40,6 @@
<!-- Transivite dependency of Microsoft.CodeAnalysis.ExternalAccess.AspNetCore -> Microsoft.CodeAnalysis.Features.
In product build the dependency is bumped to latest, which also bumps the version of DiaSymReader -->
<UsagePattern IdentityGlob="Microsoft.DiaSymReader/*1.4.0*" />
<UsagePattern IdentityGlob="Microsoft.DiaSymReader/*2.0.0*" />
</IgnorePatterns>
</UsageData>

Просмотреть файл

@ -9,37 +9,37 @@
-->
<Dependencies>
<ProductDependencies>
<Dependency Name="dotnet-ef" Version="8.0.0-rc.2.23462.14">
<Dependency Name="dotnet-ef" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="8.0.0-rc.2.23462.14">
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-alpha.1.23421.9">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>bbf353b1310aed12cf780bc95ab560f0e6b82627</Sha>
<Sha>8f52c86d7a31810711e3fa4c56a970bc10a1b026</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0-rc.2.23464.16">
<Uri>https://github.com/dotnet/runtime</Uri>
@ -189,17 +189,12 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>9cdbc87dadbf358206f20f17fed005cdcb253452</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23468.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23461.2">
<Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>e9d6489787a5ea5400a31dfa34aa6ad6b590de9b</Sha>
<Sha>f379c3367804237751f13311b5dddbfafc86be40</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.0.0-beta-23228-03">
<Uri>https://github.com/dotnet/symreader</Uri>
<Sha>27e584661980ee6d82c419a2a471ae505b7d122e</Sha>
<SourceBuild RepoName="symreader" ManagedOnly="true" />
</Dependency>
<Dependency Name="System.Configuration.ConfigurationManager" Version="8.0.0-rc.2.23464.16">
<Dependency Name="System.Configuration.ConfigurationManager" Version="8.0.0-rc.2.23457.7">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>9cdbc87dadbf358206f20f17fed005cdcb253452</Sha>
</Dependency>
@ -338,9 +333,9 @@
<Sha>9a1c3e1b7f0c8763d4c96e593961a61a72679a7b</Sha>
<SourceBuild RepoName="xdt" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23463.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.23465.1">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>3dd2c0ef203db8fe0e849557960b4cd009afbaac</Sha>
<Sha>eeb7f1b24a845eebf3e0885a4650b8df67741d4a</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<!-- Not updated automatically -->
@ -372,9 +367,9 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>9cdbc87dadbf358206f20f17fed005cdcb253452</Sha>
</Dependency>
<Dependency Name="System.Drawing.Common" Version="8.0.0-rc.2.23465.2">
<Dependency Name="System.Drawing.Common" Version="9.0.0-alpha.1.23467.2">
<Uri>https://github.com/dotnet/winforms</Uri>
<Sha>0c5eb6c55e7bd273375c3e60c2e6ea8432a54058</Sha>
<Sha>159522f33a2e7b38b46f17cbe02a037af2bbde8f</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23451.1">
<Uri>https://github.com/dotnet/arcade</Uri>
@ -397,13 +392,13 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4665b3d04e1da3796b965c3c3e3b97f55c449a6e</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Telemetry.Testing" Version="8.0.0-rc.2.23461.3">
<Dependency Name="Microsoft.Extensions.Telemetry.Testing" Version="9.0.0-alpha.1.23460.2">
<Uri>https://github.com/dotnet/extensions</Uri>
<Sha>7c6fa3e84ea0b3d08998726c7cac30e3117ed318</Sha>
<Sha>c56a1b709d96dd30c9bf767cf0ded347b690c6a1</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.TimeProvider.Testing" Version="8.0.0-rc.2.23461.3">
<Dependency Name="Microsoft.Extensions.TimeProvider.Testing" Version="9.0.0-alpha.1.23460.2">
<Uri>https://github.com/dotnet/extensions</Uri>
<Sha>7c6fa3e84ea0b3d08998726c7cac30e3117ed318</Sha>
<Sha>c56a1b709d96dd30c9bf767cf0ded347b690c6a1</Sha>
</Dependency>
<Dependency Name="NuGet.Frameworks" Version="6.2.4">
<Uri>https://github.com/nuget/nuget.client</Uri>
@ -417,5 +412,10 @@
<Uri>https://github.com/nuget/nuget.client</Uri>
<Sha>8fef55f5a55a3b4f2c96cd1a9b5ddc51d4b927f8</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.1.0-beta.23409.1">
<Uri>https://github.com/dotnet/symreader</Uri>
<Sha>6f3128d255b0b1eb177712c7f2ab2ef0a147d251</Sha>
<SourceBuild RepoName="symreader" ManagedOnly="true" />
</Dependency>
</ToolsetDependencies>
</Dependencies>

Просмотреть файл

@ -6,10 +6,10 @@
-->
<Project>
<PropertyGroup Label="Version settings">
<AspNetCoreMajorVersion>8</AspNetCoreMajorVersion>
<AspNetCoreMajorVersion>9</AspNetCoreMajorVersion>
<AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
<AspNetCorePatchVersion>0</AspNetCorePatchVersion>
<PreReleaseVersionIteration>2</PreReleaseVersionIteration>
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
<ValidateBaseline>true</ValidateBaseline>
<IdentityModelVersion>7.0.0</IdentityModelVersion>
<!--
@ -17,8 +17,8 @@
-->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
<PreReleaseBrandingLabel>Release Candidate $(PreReleaseVersionIteration)</PreReleaseBrandingLabel>
<PreReleaseVersionLabel>alpha</PreReleaseVersionLabel>
<PreReleaseBrandingLabel>Alpha $(PreReleaseVersionIteration)</PreReleaseBrandingLabel>
<IncludePreReleaseLabelInPackageVersion>true</IncludePreReleaseLabelInPackageVersion>
<IncludePreReleaseLabelInPackageVersion Condition=" '$(DotNetFinalVersionKind)' == 'release' ">false</IncludePreReleaseLabelInPackageVersion>
<AspNetCoreMajorMinorVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</AspNetCoreMajorMinorVersion>
@ -64,70 +64,69 @@
-->
<PropertyGroup Label="Automated">
<!-- Packages from dotnet/runtime -->
<MicrosoftExtensionsDependencyModelVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsDependencyModelVersion>
<MicrosoftNETCoreAppRefVersion>8.0.0-rc.2.23464.16</MicrosoftNETCoreAppRefVersion>
<MicrosoftNETCoreAppRuntimewinx64Version>8.0.0-rc.2.23464.16</MicrosoftNETCoreAppRuntimewinx64Version>
<MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>8.0.0-rc.2.23464.16</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>
<MicrosoftNETRuntimeWebAssemblySdkVersion>8.0.0-rc.2.23464.16</MicrosoftNETRuntimeWebAssemblySdkVersion>
<MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>8.0.0-rc.2.23464.16</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>
<MicrosoftNETCoreBrowserDebugHostTransportVersion>8.0.0-rc.2.23464.16</MicrosoftNETCoreBrowserDebugHostTransportVersion>
<MicrosoftExtensionsCachingAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsCachingAbstractionsVersion>
<MicrosoftExtensionsCachingMemoryVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsCachingMemoryVersion>
<MicrosoftExtensionsConfigurationAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationAbstractionsVersion>
<MicrosoftExtensionsConfigurationBinderVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationBinderVersion>
<MicrosoftExtensionsConfigurationCommandLineVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationCommandLineVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>
<MicrosoftExtensionsConfigurationFileExtensionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationFileExtensionsVersion>
<MicrosoftExtensionsConfigurationIniVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationIniVersion>
<MicrosoftExtensionsConfigurationJsonVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationJsonVersion>
<MicrosoftExtensionsConfigurationVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationVersion>
<MicrosoftExtensionsConfigurationUserSecretsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationUserSecretsVersion>
<MicrosoftExtensionsConfigurationXmlVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsConfigurationXmlVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsDependencyInjectionAbstractionsVersion>
<MicrosoftExtensionsDependencyInjectionVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsDependencyInjectionVersion>
<MicrosoftExtensionsDiagnosticsAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsDiagnosticsAbstractionsVersion>
<MicrosoftExtensionsDiagnosticsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsDiagnosticsVersion>
<MicrosoftExtensionsFileProvidersAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsFileProvidersAbstractionsVersion>
<MicrosoftExtensionsFileProvidersCompositeVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsFileProvidersCompositeVersion>
<MicrosoftExtensionsFileProvidersPhysicalVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsFileProvidersPhysicalVersion>
<MicrosoftExtensionsFileSystemGlobbingVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsFileSystemGlobbingVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsHostFactoryResolverSourcesVersion>
<MicrosoftExtensionsHostingAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsHostingAbstractionsVersion>
<MicrosoftExtensionsHostingVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsHostingVersion>
<MicrosoftExtensionsHttpVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsHttpVersion>
<MicrosoftExtensionsLoggingAbstractionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingAbstractionsVersion>
<MicrosoftExtensionsLoggingConfigurationVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingConfigurationVersion>
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingConsoleVersion>
<MicrosoftExtensionsLoggingDebugVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingDebugVersion>
<MicrosoftExtensionsLoggingEventSourceVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingEventSourceVersion>
<MicrosoftExtensionsLoggingEventLogVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingEventLogVersion>
<MicrosoftExtensionsLoggingVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingVersion>
<MicrosoftExtensionsLoggingTraceSourceVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsLoggingTraceSourceVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsOptionsConfigurationExtensionsVersion>
<MicrosoftExtensionsOptionsDataAnnotationsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsOptionsDataAnnotationsVersion>
<MicrosoftExtensionsOptionsVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsOptionsVersion>
<MicrosoftExtensionsPrimitivesVersion>8.0.0-rc.2.23464.16</MicrosoftExtensionsPrimitivesVersion>
<MicrosoftInternalRuntimeAspNetCoreTransportVersion>8.0.0-rc.2.23464.16</MicrosoftInternalRuntimeAspNetCoreTransportVersion>
<SystemConfigurationConfigurationManagerVersion>8.0.0-rc.2.23464.16</SystemConfigurationConfigurationManagerVersion>
<SystemDiagnosticsDiagnosticSourceVersion>8.0.0-rc.2.23464.16</SystemDiagnosticsDiagnosticSourceVersion>
<SystemDiagnosticsEventLogVersion>8.0.0-rc.2.23464.16</SystemDiagnosticsEventLogVersion>
<SystemDirectoryServicesProtocolsVersion>8.0.0-rc.2.23464.16</SystemDirectoryServicesProtocolsVersion>
<SystemDrawingCommonVersion>8.0.0-rc.2.23465.2</SystemDrawingCommonVersion>
<SystemIOPipelinesVersion>8.0.0-rc.2.23464.16</SystemIOPipelinesVersion>
<SystemNetHttpJsonVersion>8.0.0-rc.2.23464.16</SystemNetHttpJsonVersion>
<SystemNetHttpWinHttpHandlerVersion>8.0.0-rc.2.23464.16</SystemNetHttpWinHttpHandlerVersion>
<SystemReflectionMetadataVersion>8.0.0-rc.2.23464.16</SystemReflectionMetadataVersion>
<SystemResourcesExtensionsVersion>8.0.0-rc.2.23464.16</SystemResourcesExtensionsVersion>
<SystemSecurityCryptographyPkcsVersion>8.0.0-rc.2.23464.16</SystemSecurityCryptographyPkcsVersion>
<SystemSecurityCryptographyXmlVersion>8.0.0-rc.2.23464.16</SystemSecurityCryptographyXmlVersion>
<SystemSecurityPermissionsVersion>8.0.0-rc.2.23464.16</SystemSecurityPermissionsVersion>
<SystemServiceProcessServiceControllerVersion>8.0.0-rc.2.23464.16</SystemServiceProcessServiceControllerVersion>
<SystemTextEncodingsWebVersion>8.0.0-rc.2.23464.16</SystemTextEncodingsWebVersion>
<SystemTextJsonVersion>8.0.0-rc.2.23464.16</SystemTextJsonVersion>
<SystemThreadingAccessControlVersion>8.0.0-rc.2.23464.16</SystemThreadingAccessControlVersion>
<SystemThreadingChannelsVersion>8.0.0-rc.2.23464.16</SystemThreadingChannelsVersion>
<SystemThreadingRateLimitingVersion>8.0.0-rc.2.23464.16</SystemThreadingRateLimitingVersion>
<MicrosoftSourceBuildIntermediateruntimelinuxx64Version>8.0.0-rc.2.23464.16</MicrosoftSourceBuildIntermediateruntimelinuxx64Version>
<MicrosoftExtensionsDependencyModelVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsDependencyModelVersion>
<MicrosoftNETCoreAppRefVersion>8.0.0-rc.2.23457.7</MicrosoftNETCoreAppRefVersion>
<MicrosoftNETCoreAppRuntimewinx64Version>8.0.0-rc.2.23457.7</MicrosoftNETCoreAppRuntimewinx64Version>
<MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>8.0.0-rc.2.23457.7</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>
<MicrosoftNETRuntimeWebAssemblySdkVersion>8.0.0-rc.2.23457.7</MicrosoftNETRuntimeWebAssemblySdkVersion>
<MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>8.0.0-rc.2.23457.7</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>
<MicrosoftNETCoreBrowserDebugHostTransportVersion>8.0.0-rc.2.23457.7</MicrosoftNETCoreBrowserDebugHostTransportVersion>
<MicrosoftExtensionsCachingAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsCachingAbstractionsVersion>
<MicrosoftExtensionsCachingMemoryVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsCachingMemoryVersion>
<MicrosoftExtensionsConfigurationAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationAbstractionsVersion>
<MicrosoftExtensionsConfigurationBinderVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationBinderVersion>
<MicrosoftExtensionsConfigurationCommandLineVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationCommandLineVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>
<MicrosoftExtensionsConfigurationFileExtensionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationFileExtensionsVersion>
<MicrosoftExtensionsConfigurationIniVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationIniVersion>
<MicrosoftExtensionsConfigurationJsonVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationJsonVersion>
<MicrosoftExtensionsConfigurationVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationVersion>
<MicrosoftExtensionsConfigurationUserSecretsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationUserSecretsVersion>
<MicrosoftExtensionsConfigurationXmlVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsConfigurationXmlVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsDependencyInjectionAbstractionsVersion>
<MicrosoftExtensionsDependencyInjectionVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsDependencyInjectionVersion>
<MicrosoftExtensionsDiagnosticsAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsDiagnosticsAbstractionsVersion>
<MicrosoftExtensionsDiagnosticsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsDiagnosticsVersion>
<MicrosoftExtensionsFileProvidersAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsFileProvidersAbstractionsVersion>
<MicrosoftExtensionsFileProvidersCompositeVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsFileProvidersCompositeVersion>
<MicrosoftExtensionsFileProvidersPhysicalVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsFileProvidersPhysicalVersion>
<MicrosoftExtensionsFileSystemGlobbingVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsFileSystemGlobbingVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsHostFactoryResolverSourcesVersion>
<MicrosoftExtensionsHostingAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsHostingAbstractionsVersion>
<MicrosoftExtensionsHostingVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsHostingVersion>
<MicrosoftExtensionsHttpVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsHttpVersion>
<MicrosoftExtensionsLoggingAbstractionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingAbstractionsVersion>
<MicrosoftExtensionsLoggingConfigurationVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingConfigurationVersion>
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingConsoleVersion>
<MicrosoftExtensionsLoggingDebugVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingDebugVersion>
<MicrosoftExtensionsLoggingEventSourceVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingEventSourceVersion>
<MicrosoftExtensionsLoggingEventLogVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingEventLogVersion>
<MicrosoftExtensionsLoggingVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingVersion>
<MicrosoftExtensionsLoggingTraceSourceVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsLoggingTraceSourceVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsOptionsConfigurationExtensionsVersion>
<MicrosoftExtensionsOptionsDataAnnotationsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsOptionsDataAnnotationsVersion>
<MicrosoftExtensionsOptionsVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsOptionsVersion>
<MicrosoftExtensionsPrimitivesVersion>8.0.0-rc.2.23457.7</MicrosoftExtensionsPrimitivesVersion>
<MicrosoftInternalRuntimeAspNetCoreTransportVersion>8.0.0-rc.2.23457.7</MicrosoftInternalRuntimeAspNetCoreTransportVersion>
<SystemConfigurationConfigurationManagerVersion>8.0.0-rc.2.23457.7</SystemConfigurationConfigurationManagerVersion>
<SystemDiagnosticsDiagnosticSourceVersion>8.0.0-rc.2.23457.7</SystemDiagnosticsDiagnosticSourceVersion>
<SystemDiagnosticsEventLogVersion>8.0.0-rc.2.23457.7</SystemDiagnosticsEventLogVersion>
<SystemDirectoryServicesProtocolsVersion>8.0.0-rc.2.23457.7</SystemDirectoryServicesProtocolsVersion>
<SystemDrawingCommonVersion>9.0.0-alpha.1.23467.2</SystemDrawingCommonVersion>
<SystemIOPipelinesVersion>8.0.0-rc.2.23457.7</SystemIOPipelinesVersion>
<SystemNetHttpJsonVersion>8.0.0-rc.2.23457.7</SystemNetHttpJsonVersion>
<SystemNetHttpWinHttpHandlerVersion>8.0.0-rc.2.23457.7</SystemNetHttpWinHttpHandlerVersion>
<SystemReflectionMetadataVersion>8.0.0-rc.2.23457.7</SystemReflectionMetadataVersion>
<SystemResourcesExtensionsVersion>8.0.0-rc.2.23457.7</SystemResourcesExtensionsVersion>
<SystemSecurityCryptographyPkcsVersion>8.0.0-rc.2.23457.7</SystemSecurityCryptographyPkcsVersion>
<SystemSecurityCryptographyXmlVersion>8.0.0-rc.2.23457.7</SystemSecurityCryptographyXmlVersion>
<SystemSecurityPermissionsVersion>8.0.0-rc.2.23457.7</SystemSecurityPermissionsVersion>
<SystemServiceProcessServiceControllerVersion>8.0.0-rc.2.23457.7</SystemServiceProcessServiceControllerVersion>
<SystemTextEncodingsWebVersion>8.0.0-rc.2.23457.7</SystemTextEncodingsWebVersion>
<SystemTextJsonVersion>8.0.0-rc.2.23457.7</SystemTextJsonVersion>
<SystemThreadingAccessControlVersion>8.0.0-rc.2.23457.7</SystemThreadingAccessControlVersion>
<SystemThreadingChannelsVersion>8.0.0-rc.2.23457.7</SystemThreadingChannelsVersion>
<SystemThreadingRateLimitingVersion>8.0.0-rc.2.23457.7</SystemThreadingRateLimitingVersion>
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<MicrosoftNETCorePlatformsVersion>8.0.0-rc.2.23464.16</MicrosoftNETCorePlatformsVersion>
<MicrosoftBclAsyncInterfacesVersion>8.0.0-rc.2.23464.16</MicrosoftBclAsyncInterfacesVersion>
@ -138,17 +137,17 @@
<SystemIOHashingVersion>8.0.0-rc.2.23464.16</SystemIOHashingVersion>
<SystemRuntimeCachingVersion>8.0.0-rc.2.23464.16</SystemRuntimeCachingVersion>
<!-- Packages from dotnet/extensions -->
<MicrosoftExtensionsTelemetryTestingVersion>8.0.0-rc.2.23461.3</MicrosoftExtensionsTelemetryTestingVersion>
<MicrosoftExtensionsTimeProviderTestingVersion>8.0.0-rc.2.23461.3</MicrosoftExtensionsTimeProviderTestingVersion>
<MicrosoftExtensionsTelemetryTestingVersion>9.0.0-alpha.1.23460.2</MicrosoftExtensionsTelemetryTestingVersion>
<MicrosoftExtensionsTimeProviderTestingVersion>9.0.0-alpha.1.23460.2</MicrosoftExtensionsTimeProviderTestingVersion>
<!-- Packages from dotnet/efcore -->
<dotnetefVersion>8.0.0-rc.2.23462.14</dotnetefVersion>
<MicrosoftEntityFrameworkCoreInMemoryVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreInMemoryVersion>
<MicrosoftEntityFrameworkCoreRelationalVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreRelationalVersion>
<MicrosoftEntityFrameworkCoreSqliteVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreSqliteVersion>
<MicrosoftEntityFrameworkCoreSqlServerVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreSqlServerVersion>
<MicrosoftEntityFrameworkCoreToolsVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreToolsVersion>
<MicrosoftEntityFrameworkCoreVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreVersion>
<MicrosoftEntityFrameworkCoreDesignVersion>8.0.0-rc.2.23462.14</MicrosoftEntityFrameworkCoreDesignVersion>
<dotnetefVersion>9.0.0-alpha.1.23421.9</dotnetefVersion>
<MicrosoftEntityFrameworkCoreInMemoryVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreInMemoryVersion>
<MicrosoftEntityFrameworkCoreRelationalVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreRelationalVersion>
<MicrosoftEntityFrameworkCoreSqliteVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreSqliteVersion>
<MicrosoftEntityFrameworkCoreSqlServerVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreSqlServerVersion>
<MicrosoftEntityFrameworkCoreToolsVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreToolsVersion>
<MicrosoftEntityFrameworkCoreVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreVersion>
<MicrosoftEntityFrameworkCoreDesignVersion>9.0.0-alpha.1.23421.9</MicrosoftEntityFrameworkCoreDesignVersion>
<!-- Packages from dotnet/roslyn -->
<MicrosoftCodeAnalysisCommonVersion>4.7.0-3.23314.3</MicrosoftCodeAnalysisCommonVersion>
<MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>4.7.0-3.23314.3</MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>
@ -164,11 +163,11 @@
<MicrosoftDotNetBuildTasksTemplatingVersion>8.0.0-beta.23451.1</MicrosoftDotNetBuildTasksTemplatingVersion>
<MicrosoftDotNetRemoteExecutorVersion>8.0.0-beta.23451.1</MicrosoftDotNetRemoteExecutorVersion>
<!-- Packages from dotnet/source-build-externals -->
<MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>8.0.0-alpha.1.23468.1</MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>
<MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>8.0.0-alpha.1.23461.2</MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>
<!-- Packages from dotnet/source-build-reference-packages -->
<MicrosoftSourceBuildIntermediatesourcebuildreferencepackagesVersion>8.0.0-alpha.1.23463.1</MicrosoftSourceBuildIntermediatesourcebuildreferencepackagesVersion>
<MicrosoftSourceBuildIntermediatesourcebuildreferencepackagesVersion>9.0.0-alpha.1.23465.1</MicrosoftSourceBuildIntermediatesourcebuildreferencepackagesVersion>
<!-- Packages from dotnet/symreader -->
<MicrosoftSourceBuildIntermediatesymreaderVersion>2.0.0-beta-23228-03</MicrosoftSourceBuildIntermediatesymreaderVersion>
<MicrosoftSourceBuildIntermediatesymreaderVersion>2.1.0-beta.23409.1</MicrosoftSourceBuildIntermediatesymreaderVersion>
<!-- Packages from dotnet/runtime -->
<SystemCompositionVersion>8.0.0-rc.2.23464.16</SystemCompositionVersion>
<!-- Packages from dotnet/xdt -->
@ -277,10 +276,10 @@
<MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version>5.0.17-servicing-22215-7</MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension50x64Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension50x64Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension50x86Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension50x86Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version>6.0.20-servicing-23321-6</MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version>6.0.22-servicing-23424-15</MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension60x64Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension60x64Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension60x86Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension60Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension60x86Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version>7.0.9-servicing-23321-10</MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version>7.0.11-servicing-23425-2</MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension70x64Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension70x64Version>
<MicrosoftAspNetCoreAzureAppServicesSiteExtension70x86Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension70Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension70x86Version>
<!-- 3rd party dependencies -->
@ -297,10 +296,10 @@
<GrpcNetClientVersion>2.57.0</GrpcNetClientVersion>
<GrpcToolsVersion>2.57.0</GrpcToolsVersion>
<MessagePackVersion>2.5.108</MessagePackVersion>
<MicrosoftIdentityWebVersion>2.13.0</MicrosoftIdentityWebVersion>
<MicrosoftIdentityWebGraphServiceClientVersion>2.13.0</MicrosoftIdentityWebGraphServiceClientVersion>
<MicrosoftIdentityWebUIVersion>2.13.0</MicrosoftIdentityWebUIVersion>
<MicrosoftIdentityWebDownstreamApiVersion>2.13.0</MicrosoftIdentityWebDownstreamApiVersion>
<MicrosoftIdentityWebVersion>2.13.4</MicrosoftIdentityWebVersion>
<MicrosoftIdentityWebGraphServiceClientVersion>2.13.4</MicrosoftIdentityWebGraphServiceClientVersion>
<MicrosoftIdentityWebUIVersion>2.13.4</MicrosoftIdentityWebUIVersion>
<MicrosoftIdentityWebDownstreamApiVersion>2.13.4</MicrosoftIdentityWebDownstreamApiVersion>
<MessagePackAnalyzerVersion>$(MessagePackVersion)</MessagePackAnalyzerVersion>
<MoqVersion>4.10.0</MoqVersion>
<MonoCecilVersion>0.11.2</MonoCecilVersion>

Просмотреть файл

@ -4,7 +4,7 @@
<HelixQueueAlmaLinux8>(AlmaLinux.8.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-helix-amd64</HelixQueueAlmaLinux8>
<HelixQueueAlpine316>(Alpine.316.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.16-helix-amd64</HelixQueueAlpine316>
<HelixQueueDebian11>(Debian.11.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64</HelixQueueDebian11>
<HelixQueueFedora34>(Fedora.34.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix</HelixQueueFedora34>
<HelixQueueFedora38>(Fedora.38.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38-helix</HelixQueueFedora38>
<HelixQueueMariner>(Mariner)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix</HelixQueueMariner>
<HelixQueueArmDebian12>(Debian.12.Arm64.Open)ubuntu.2004.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm64v8</HelixQueueArmDebian12>
@ -44,7 +44,7 @@
<!-- Containers -->
<HelixAvailableTargetQueue Include="$(HelixQueueAlpine316)" Platform="Linux" />
<HelixAvailableTargetQueue Include="$(HelixQueueDebian11)" Platform="Linux" />
<HelixAvailableTargetQueue Include="$(HelixQueueFedora34)" Platform="Linux" />
<HelixAvailableTargetQueue Include="$(HelixQueueFedora38)" Platform="Linux" />
<HelixAvailableTargetQueue Include="$(HelixQueueMariner)" Platform="Linux" />
<HelixAvailableTargetQueue Include="$(HelixQueueArmDebian12)" Platform="Linux" />

Просмотреть файл

@ -19,7 +19,7 @@
$(HelixQueueAlmaLinux8);
$(HelixQueueAlpine316);
$(HelixQueueDebian11);
$(HelixQueueFedora34);
$(HelixQueueFedora38);
$(HelixQueueMariner);
Ubuntu.2004.Amd64.Open;
</SkipHelixQueues>

Просмотреть файл

@ -1,9 +1,9 @@
{
"sdk": {
"version": "8.0.100-rc.2.23422.11"
"version": "9.0.100-alpha.1.23461.3"
},
"tools": {
"dotnet": "8.0.100-rc.2.23422.11",
"dotnet": "9.0.100-alpha.1.23461.3",
"runtimes": {
"dotnet/x86": [
"$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"

Просмотреть файл

@ -19,29 +19,31 @@ namespace Microsoft.AspNetCore.Components;
/// <summary>
/// Resolves components for an application.
/// </summary>
internal static class RouteTableFactory
internal class RouteTableFactory
{
private static readonly ConcurrentDictionary<RouteKey, RouteTable> Cache = new();
public static readonly RouteTableFactory Instance = new();
public static readonly IComparer<InboundRouteEntry> RouteOrder = Comparer<InboundRouteEntry>.Create((x, y) =>
{
var result = RouteComparison(x, y);
return result != 0 ? result : string.Compare(x.RoutePattern.RawText, y.RoutePattern.RawText, StringComparison.OrdinalIgnoreCase);
});
public static RouteTable Create(RouteKey routeKey, IServiceProvider serviceProvider)
private readonly ConcurrentDictionary<RouteKey, RouteTable> _cache = new();
public RouteTable Create(RouteKey routeKey, IServiceProvider serviceProvider)
{
if (Cache.TryGetValue(routeKey, out var resolvedComponents))
if (_cache.TryGetValue(routeKey, out var resolvedComponents))
{
return resolvedComponents;
}
var componentTypes = GetRouteableComponents(routeKey);
var routeTable = Create(componentTypes, serviceProvider);
Cache.TryAdd(routeKey, routeTable);
_cache.TryAdd(routeKey, routeTable);
return routeTable;
}
public static void ClearCaches() => Cache.Clear();
public void ClearCaches() => _cache.Clear();
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Application code does not get trimmed, and the framework does not define routable components.")]
private static List<Type> GetRouteableComponents(RouteKey routeKey)

Просмотреть файл

@ -166,14 +166,14 @@ public partial class Router : IComponent, IHandleAfterRender, IDisposable
if (!routeKey.Equals(_routeTableLastBuiltForRouteKey))
{
Routes = RouteTableFactory.Create(routeKey, ServiceProvider);
Routes = RouteTableFactory.Instance.Create(routeKey, ServiceProvider);
_routeTableLastBuiltForRouteKey = routeKey;
}
}
private void ClearRouteCaches()
{
RouteTableFactory.ClearCaches();
RouteTableFactory.Instance.ClearCaches();
_routeTableLastBuiltForRouteKey = default;
}

Просмотреть файл

@ -23,10 +23,11 @@ public class RouteTableFactoryTests
public void CanCacheRouteTable()
{
// Arrange
var routes1 = RouteTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
var routeTableFactory = new RouteTableFactory();
var routes1 = routeTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
// Act
var routes2 = RouteTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
var routes2 = routeTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
// Assert
Assert.Same(routes1, routes2);
@ -36,10 +37,11 @@ public class RouteTableFactoryTests
public void CanCacheRouteTableWithDifferentAssembliesAndOrder()
{
// Arrange
var routes1 = RouteTableFactory.Create(new RouteKey(typeof(object).Assembly, new[] { typeof(ComponentBase).Assembly, GetType().Assembly, }), _serviceProvider);
var routeTableFactory = new RouteTableFactory();
var routes1 = routeTableFactory.Create(new RouteKey(typeof(object).Assembly, new[] { typeof(ComponentBase).Assembly, GetType().Assembly, }), _serviceProvider);
// Act
var routes2 = RouteTableFactory.Create(new RouteKey(typeof(object).Assembly, new[] { GetType().Assembly, typeof(ComponentBase).Assembly, }), _serviceProvider);
var routes2 = routeTableFactory.Create(new RouteKey(typeof(object).Assembly, new[] { GetType().Assembly, typeof(ComponentBase).Assembly, }), _serviceProvider);
// Assert
Assert.Same(routes1, routes2);
@ -49,10 +51,11 @@ public class RouteTableFactoryTests
public void DoesNotCacheRouteTableForDifferentAssemblies()
{
// Arrange
var routes1 = RouteTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
var routeTableFactory = new RouteTableFactory();
var routes1 = routeTableFactory.Create(new RouteKey(GetType().Assembly, null), _serviceProvider);
// Act
var routes2 = RouteTableFactory.Create(new RouteKey(GetType().Assembly, new[] { typeof(object).Assembly }), _serviceProvider);
var routes2 = routeTableFactory.Create(new RouteKey(GetType().Assembly, new[] { typeof(object).Assembly }), _serviceProvider);
// Assert
Assert.NotSame(routes1, routes2);
@ -62,7 +65,8 @@ public class RouteTableFactoryTests
public void IgnoresIdenticalTypes()
{
// Arrange & Act
var routeTable = RouteTableFactory.Create(new RouteKey(GetType().Assembly, new[] { GetType().Assembly }), _serviceProvider);
var routeTableFactory = new RouteTableFactory();
var routeTable = routeTableFactory.Create(new RouteKey(GetType().Assembly, new[] { GetType().Assembly }), _serviceProvider);
var routes = GetRoutes(routeTable);

Просмотреть файл

@ -16,6 +16,6 @@
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a class="reload">Reload</a>
<a class="dismiss">X</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>

Просмотреть файл

@ -45,5 +45,8 @@
"typescript": "^4.5.4",
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2"
},
"resolutions": {
"tough-cookie": ">=4.1.3"
}
}

Просмотреть файл

@ -4233,10 +4233,10 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
tough-cookie@^4.0.0, tough-cookie@^4.1.2:
version "4.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
integrity sha1-5T6EuF8k4LZd1Sb0ZijbbIX2uHQ=
tough-cookie@>=4.1.3, tough-cookie@^4.0.0, tough-cookie@^4.1.2:
version "4.1.3"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
integrity sha1-l7mtsHKLQigKo9gUtrmZsv8DGL8=
dependencies:
psl "^1.1.33"
punycode "^2.1.1"

Просмотреть файл

@ -17,8 +17,8 @@
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<script src="_framework/blazor.webassembly.js"></script>
</body>

Просмотреть файл

@ -19,6 +19,11 @@
return type === 'dotnetjs'
? `${defaultUri}?customizedbootresource=true`
: fetch(defaultUri, { integrity: integrity, cache: 'no-cache', headers: { 'customizedbootresource': 'true' } });
},
configureRuntime: function (builder) {
builder.withConfig({
cachedResourcesPurgeDelay: 0
});
}
});
</script>

Просмотреть файл

@ -22,8 +22,8 @@
<!-- Explicit display:none required so StartupErrorNotificationTest can observe it change -->
<div id="blazor-error-ui" style="display: none;">
An unhandled error has occurred.
<a href class='reload'>Reload</a>
<a class='dismiss' style="cursor: pointer;">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Used for specific test cases -->

Просмотреть файл

@ -91,9 +91,17 @@ public class BootResourceCachingTest
requestedDll => Assert.Contains("/Microsoft.AspNetCore.Components.wasm", requestedDll),
requestedDll => Assert.Contains("/dotnet.native.wasm", requestedDll));
// We also update the cache (add new items, remove unnecessary items)
await Task.Delay(10500); // wait for cache purge, which is 10 seconds delayed after app start
var cacheEntryUrls3 = GetCacheEntryUrls();
// wait until the cache was cleaned, max 500ms
for (var i = 0; i < 5; i++)
{
if (!cacheEntryUrls3.Contains(cacheEntryForDotNetWasmWithChangedHash))
{
break;
}
await Task.Delay(100); // wait for cache purge
cacheEntryUrls3 = GetCacheEntryUrls();
}
Assert.Contains(cacheEntryForComponentsDll, cacheEntryUrls3);
Assert.Contains(cacheEntryForDotNetWasm, cacheEntryUrls3);
Assert.DoesNotContain(cacheEntryForDotNetWasmWithChangedHash, cacheEntryUrls3);

Просмотреть файл

@ -21,6 +21,7 @@
"typescript": "^3.7.5"
},
"resolutions": {
"lodash": ">=4.17.21"
"lodash": ">=4.17.21",
"string_decoder": ">=1.3.0"
}
}

Просмотреть файл

@ -530,7 +530,7 @@ source-map@^0.6.0:
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM=
string_decoder@^1.1.1:
string_decoder@>=1.3.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=

Просмотреть файл

@ -21,8 +21,8 @@
<!-- Explicit display:none required so StartupErrorNotificationTest can observe it change -->
<div id="blazor-error-ui" style="display: none;">
An unhandled error has occurred.
<a href class='reload'>Reload</a>
<a class='dismiss' style="cursor: pointer;">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Used for specific test cases -->

Просмотреть файл

@ -26,8 +26,8 @@
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href class='reload'>Reload</a>
<a class='dismiss' style="cursor: pointer;">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<script>

Просмотреть файл

@ -7,30 +7,12 @@ internal sealed class RoutePatternOptions
{
private RoutePatternOptions() { }
public bool SupportTokenReplacement { get; private set; }
public bool SupportComplexSegments { get; private set; }
public bool SupportDefaultValues { get; private set; }
public bool SupportTwoAsteriskCatchAll { get; private set; }
public char[]? AdditionalInvalidParameterCharacters { get; private set; }
public static readonly RoutePatternOptions DefaultRoute = new RoutePatternOptions
{
SupportComplexSegments = true,
SupportDefaultValues = true,
SupportTwoAsteriskCatchAll = true,
};
public static readonly RoutePatternOptions DefaultRoute = new RoutePatternOptions();
public static readonly RoutePatternOptions ComponentsRoute = new RoutePatternOptions();
public static readonly RoutePatternOptions MvcAttributeRoute = new RoutePatternOptions
{
SupportComplexSegments = true,
SupportDefaultValues = true,
SupportTwoAsteriskCatchAll = true,
SupportTokenReplacement = true,
};
public static readonly RoutePatternOptions ComponentsRoute = new RoutePatternOptions
{
SupportComplexSegments = true,
SupportDefaultValues = true,
SupportTwoAsteriskCatchAll = true,
};
}

Просмотреть файл

@ -77,71 +77,10 @@ internal partial struct RoutePatternParser
ValidateNoConsecutiveSeparators(root, diagnostics);
ValidateCatchAllParameters(root, diagnostics);
ValidateParameterParts(root, diagnostics, routeParameters);
ValidateAdditionalInvalidParameterCharacters(root, diagnostics, _routePatternOptions);
ValidateComplexSegments(root, diagnostics, _routePatternOptions);
return new RoutePatternTree(_lexer.Text, root, diagnostics.ToImmutable(), routeParameters.ToImmutable());
}
private static void ValidateComplexSegments(RoutePatternCompilationUnit root, ImmutableArray<EmbeddedDiagnostic>.Builder diagnostics, RoutePatternOptions routePatternOptions)
{
if (routePatternOptions.SupportComplexSegments)
{
return;
}
foreach (var part in root)
{
if (part.TryGetNode(RoutePatternKind.Segment, out var segmentNode))
{
if (segmentNode.ChildCount > 1)
{
var message = $"Complex segment is not supported.";
diagnostics.Add(new EmbeddedDiagnostic(message, segmentNode.GetFullSpan()!.Value));
}
}
}
}
private static void ValidateAdditionalInvalidParameterCharacters(RoutePatternCompilationUnit root, ImmutableArray<EmbeddedDiagnostic>.Builder diagnostics, RoutePatternOptions routePatternOptions)
{
if (routePatternOptions.AdditionalInvalidParameterCharacters == null)
{
return;
}
foreach (var part in root)
{
if (part.TryGetNode(RoutePatternKind.Segment, out var segmentNode))
{
foreach (var segmentPart in segmentNode)
{
if (segmentPart.TryGetNode(RoutePatternKind.Parameter, out var parameterNode))
{
foreach (var parameterPart in parameterNode)
{
if (parameterPart.TryGetNode(RoutePatternKind.ParameterName, out var parameterNameNode))
{
var parameterNameToken = ((RoutePatternNameParameterPartNode)parameterNameNode).ParameterNameToken;
if (!parameterNameToken.IsMissing)
{
var name = parameterNameToken.Value!.ToString();
var invalidCharacter = name.IndexOfAny(routePatternOptions.AdditionalInvalidParameterCharacters);
if (invalidCharacter != -1)
{
var message = $"The character '{name[invalidCharacter]}' in parameter segment '{parameterNode}' is not allowed.";
diagnostics.Add(new EmbeddedDiagnostic(message, parameterNameNode.GetSpan()));
}
}
}
}
}
}
}
}
}
private static void ValidateStart(RoutePatternCompilationUnit root, IList<EmbeddedDiagnostic> diagnostics)
{
if (root.ChildCount > 1 &&
@ -567,12 +506,6 @@ internal partial struct RoutePatternParser
RoutePatternKind.AsteriskToken,
VirtualCharSequence.FromBounds(firstAsteriskToken.VirtualChars, _currentToken.VirtualChars));
if (!_routePatternOptions.SupportTwoAsteriskCatchAll)
{
asterisksToken = asterisksToken.AddDiagnosticIfNone(
new EmbeddedDiagnostic("A catch-all parameter may only have one '*' at the beginning of the segment.", asterisksToken.GetFullSpan()!.Value));
}
parts.Add(new RoutePatternCatchAllParameterPartNode(asterisksToken));
ConsumeCurrentToken();
}
@ -629,14 +562,6 @@ internal partial struct RoutePatternParser
var equalsToken = _currentToken;
var defaultValue = _lexer.TryScanDefaultValue() ?? CreateMissingToken(RoutePatternKind.DefaultValueToken);
if (!_routePatternOptions.SupportDefaultValues)
{
equalsToken = equalsToken.AddDiagnosticIfNone(
new EmbeddedDiagnostic(
"A parameter with a default value isn't supported.",
EmbeddedSyntaxHelpers.GetSpan(equalsToken, defaultValue)));
}
ConsumeCurrentToken();
var node = new RoutePatternDefaultValueParameterPartNode(equalsToken, defaultValue);
return node;

Просмотреть файл

@ -122,86 +122,14 @@ internal sealed class HostingMetrics : IDisposable
*/
}
// Status Codes listed at http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
private static readonly FrozenDictionary<int, object> BoxedStatusCodes = FrozenDictionary.ToFrozenDictionary(new[]
{
KeyValuePair.Create<int, object>(100, 100),
KeyValuePair.Create<int, object>(101, 101),
KeyValuePair.Create<int, object>(102, 102),
KeyValuePair.Create<int, object>(200, 200),
KeyValuePair.Create<int, object>(201, 201),
KeyValuePair.Create<int, object>(202, 202),
KeyValuePair.Create<int, object>(203, 203),
KeyValuePair.Create<int, object>(204, 204),
KeyValuePair.Create<int, object>(205, 205),
KeyValuePair.Create<int, object>(206, 206),
KeyValuePair.Create<int, object>(207, 207),
KeyValuePair.Create<int, object>(208, 208),
KeyValuePair.Create<int, object>(226, 226),
KeyValuePair.Create<int, object>(300, 300),
KeyValuePair.Create<int, object>(301, 301),
KeyValuePair.Create<int, object>(302, 302),
KeyValuePair.Create<int, object>(303, 303),
KeyValuePair.Create<int, object>(304, 304),
KeyValuePair.Create<int, object>(305, 305),
KeyValuePair.Create<int, object>(306, 306),
KeyValuePair.Create<int, object>(307, 307),
KeyValuePair.Create<int, object>(308, 308),
KeyValuePair.Create<int, object>(400, 400),
KeyValuePair.Create<int, object>(401, 401),
KeyValuePair.Create<int, object>(402, 402),
KeyValuePair.Create<int, object>(403, 403),
KeyValuePair.Create<int, object>(404, 404),
KeyValuePair.Create<int, object>(405, 405),
KeyValuePair.Create<int, object>(406, 406),
KeyValuePair.Create<int, object>(407, 407),
KeyValuePair.Create<int, object>(408, 408),
KeyValuePair.Create<int, object>(409, 409),
KeyValuePair.Create<int, object>(410, 410),
KeyValuePair.Create<int, object>(411, 411),
KeyValuePair.Create<int, object>(412, 412),
KeyValuePair.Create<int, object>(413, 413),
KeyValuePair.Create<int, object>(414, 414),
KeyValuePair.Create<int, object>(415, 415),
KeyValuePair.Create<int, object>(416, 416),
KeyValuePair.Create<int, object>(417, 417),
KeyValuePair.Create<int, object>(418, 418),
KeyValuePair.Create<int, object>(419, 419),
KeyValuePair.Create<int, object>(421, 421),
KeyValuePair.Create<int, object>(422, 422),
KeyValuePair.Create<int, object>(423, 423),
KeyValuePair.Create<int, object>(424, 424),
KeyValuePair.Create<int, object>(426, 426),
KeyValuePair.Create<int, object>(428, 428),
KeyValuePair.Create<int, object>(429, 429),
KeyValuePair.Create<int, object>(431, 431),
KeyValuePair.Create<int, object>(451, 451),
KeyValuePair.Create<int, object>(499, 499),
KeyValuePair.Create<int, object>(500, 500),
KeyValuePair.Create<int, object>(501, 501),
KeyValuePair.Create<int, object>(502, 502),
KeyValuePair.Create<int, object>(503, 503),
KeyValuePair.Create<int, object>(504, 504),
KeyValuePair.Create<int, object>(505, 505),
KeyValuePair.Create<int, object>(506, 506),
KeyValuePair.Create<int, object>(507, 507),
KeyValuePair.Create<int, object>(508, 508),
KeyValuePair.Create<int, object>(510, 510),
KeyValuePair.Create<int, object>(511, 511)
});
private static readonly object[] BoxedStatusCodes = new object[512];
private static object GetBoxedStatusCode(int statusCode)
{
if (BoxedStatusCodes.TryGetValue(statusCode, out var result))
{
return result;
}
return statusCode;
object[] boxes = BoxedStatusCodes;
return (uint)statusCode < (uint)boxes.Length
? boxes[statusCode] ??= statusCode
: statusCode;
}
private static readonly FrozenDictionary<string, string> KnownMethods = FrozenDictionary.ToFrozenDictionary(new[]

Просмотреть файл

@ -15,5 +15,11 @@
<!-- All installers are shipping assets. -->
<IsShipping>true</IsShipping>
<IsPackable>true</IsPackable>
<!--
For installers project, build acceleration may not work correctly.
Read more here => https://github.com/dotnet/project-system/blob/main/docs/build-acceleration.md#limitations
-->
<AccelerateBuildsInVisualStudio>false</AccelerateBuildsInVisualStudio>
</PropertyGroup>
</Project>

Просмотреть файл

@ -19,5 +19,11 @@
<!-- RPM files are platform-specific and should be named appropriately. -->
<RpmArch Condition=" '$(TargetArchitecture)' == 'x64' ">x64</RpmArch>
<RpmArch Condition=" '$(TargetArchitecture)' == 'arm64' ">aarch64</RpmArch>
<!--
For installers project, build acceleration may not work correctly.
Read more here => https://github.com/dotnet/project-system/blob/main/docs/build-acceleration.md#limitations
-->
<AccelerateBuildsInVisualStudio>false</AccelerateBuildsInVisualStudio>
</PropertyGroup>
</Project>

Просмотреть файл

@ -2,4 +2,13 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
<Import Project="Wix.props" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
<PropertyGroup>
<!--
For installers project, build acceleration may not work correctly.
Read more here => https://github.com/dotnet/project-system/blob/main/docs/build-acceleration.md#limitations
-->
<AccelerateBuildsInVisualStudio>false</AccelerateBuildsInVisualStudio>
</PropertyGroup>
</Project>

Просмотреть файл

@ -9,12 +9,12 @@ using Microsoft.Extensions.DependencyInjection.Extensions;
namespace Microsoft.Extensions.DependencyInjection;
/// <summary>
/// Extension methods for setting up Redis distributed cache related services in an <see cref="IServiceCollection" />.
/// Extension methods for setting up Redis output cache related services in an <see cref="IServiceCollection" />.
/// </summary>
public static class StackExchangeRedisOutputCacheServiceCollectionExtensions
{
/// <summary>
/// Adds Redis distributed caching services to the specified <see cref="IServiceCollection" />.
/// Adds Redis output caching services to the specified <see cref="IServiceCollection" />.
/// </summary>
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
/// <param name="setupAction">An <see cref="Action{RedisOutputCacheOptions}"/> to configure the provided

Просмотреть файл

@ -8,6 +8,7 @@ using System.Text;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Http.Timeouts;
using Microsoft.AspNetCore.Testing;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.WebSockets.Test;
@ -516,21 +517,19 @@ public class WebSocketMiddlewareTests : LoggedTest
serverSocket = await context.WebSockets.AcceptWebSocketAsync();
socketWasAccepted.Set();
var serverBuffer = new byte[1024];
try
{
while (serverSocket.State is WebSocketState.Open or WebSocketState.CloseSent)
{
if (firstReceiveOccured.IsSet)
{
var pendingResponse = serverSocket.ReceiveAsync(serverBuffer, default);
var pendingResponse = serverSocket.ReceiveAsync(new ArraySegment<byte>(new byte[1024]), default);
secondReceiveInitiated.Set();
var response = await pendingResponse;
}
else
{
var response = await serverSocket.ReceiveAsync(serverBuffer, default);
var response = await serverSocket.ReceiveAsync(new ArraySegment<byte>(new byte[1024]), default);
firstReceiveOccured.Set();
}
}
@ -543,6 +542,7 @@ public class WebSocketMiddlewareTests : LoggedTest
catch (Exception ex)
{
// Capture this exception so a test failure can give us more information.
Logger.LogError(ex, "Unexpected error.");
receiveException = ex;
}
finally
@ -592,15 +592,13 @@ public class WebSocketMiddlewareTests : LoggedTest
serverSocket = await context.WebSockets.AcceptWebSocketAsync();
socketWasAccepted.Set();
var serverBuffer = new byte[1024];
var finishedWithOperationCancelled = false;
try
{
while (serverSocket.State is WebSocketState.Open or WebSocketState.CloseSent)
{
var response = await serverSocket.ReceiveAsync(serverBuffer, cts.Token);
var response = await serverSocket.ReceiveAsync(new ArraySegment<byte>(new byte[1024]), cts.Token);
firstReceiveOccured.Set();
}
}
@ -609,6 +607,11 @@ public class WebSocketMiddlewareTests : LoggedTest
operationWasCancelled.Set();
finishedWithOperationCancelled = true;
}
catch (Exception ex)
{
Logger.LogError(ex, "Unexpected error.");
throw;
}
finally
{
Assert.True(finishedWithOperationCancelled);

Просмотреть файл

@ -94,7 +94,7 @@ public partial class ChallengeResult : ActionResult
var httpContext = context.HttpContext;
var loggerFactory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger<ChallengeResult>();
var logger = loggerFactory.CreateLogger(typeof(ChallengeResult));
Log.ChallengeResultExecuting(logger, AuthenticationSchemes);
if (AuthenticationSchemes != null && AuthenticationSchemes.Count > 0)

Просмотреть файл

@ -221,7 +221,7 @@ public abstract class ControllerBase
=> new StatusCodeResult(statusCode);
/// <summary>
/// Creates a <see cref="ObjectResult"/> object by specifying a <paramref name="statusCode"/> and <paramref name="value"/>
/// Creates an <see cref="ObjectResult"/> object by specifying a <paramref name="statusCode"/> and <paramref name="value"/>
/// </summary>
/// <param name="statusCode">The status code to set on the response.</param>
/// <param name="value">The value to set on the <see cref="ObjectResult"/>.</param>
@ -302,7 +302,7 @@ public abstract class ControllerBase
=> new NoContentResult();
/// <summary>
/// Creates a <see cref="OkResult"/> object that produces an empty <see cref="StatusCodes.Status200OK"/> response.
/// Creates an <see cref="OkResult"/> object that produces an empty <see cref="StatusCodes.Status200OK"/> response.
/// </summary>
/// <returns>The created <see cref="OkResult"/> for the response.</returns>
[NonAction]
@ -310,7 +310,7 @@ public abstract class ControllerBase
=> new OkResult();
/// <summary>
/// Creates an <see cref="OkObjectResult"/> object that produces an <see cref="StatusCodes.Status200OK"/> response.
/// Creates an <see cref="OkObjectResult"/> object that produces a <see cref="StatusCodes.Status200OK"/> response.
/// </summary>
/// <param name="value">The content value to format in the entity body.</param>
/// <returns>The created <see cref="OkObjectResult"/> for the response.</returns>
@ -1733,7 +1733,7 @@ public abstract class ControllerBase
#endregion
/// <summary>
/// Creates an <see cref="UnauthorizedResult"/> that produces an <see cref="StatusCodes.Status401Unauthorized"/> response.
/// Creates an <see cref="UnauthorizedResult"/> that produces a <see cref="StatusCodes.Status401Unauthorized"/> response.
/// </summary>
/// <returns>The created <see cref="UnauthorizedResult"/> for the response.</returns>
[NonAction]
@ -1749,7 +1749,7 @@ public abstract class ControllerBase
=> new UnauthorizedObjectResult(value);
/// <summary>
/// Creates an <see cref="NotFoundResult"/> that produces a <see cref="StatusCodes.Status404NotFound"/> response.
/// Creates a <see cref="NotFoundResult"/> that produces a <see cref="StatusCodes.Status404NotFound"/> response.
/// </summary>
/// <returns>The created <see cref="NotFoundResult"/> for the response.</returns>
[NonAction]
@ -1757,7 +1757,7 @@ public abstract class ControllerBase
=> new NotFoundResult();
/// <summary>
/// Creates an <see cref="NotFoundObjectResult"/> that produces a <see cref="StatusCodes.Status404NotFound"/> response.
/// Creates a <see cref="NotFoundObjectResult"/> that produces a <see cref="StatusCodes.Status404NotFound"/> response.
/// </summary>
/// <returns>The created <see cref="NotFoundObjectResult"/> for the response.</returns>
[NonAction]
@ -1765,7 +1765,7 @@ public abstract class ControllerBase
=> new NotFoundObjectResult(value);
/// <summary>
/// Creates an <see cref="BadRequestResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// Creates a <see cref="BadRequestResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// </summary>
/// <returns>The created <see cref="BadRequestResult"/> for the response.</returns>
[NonAction]
@ -1773,7 +1773,7 @@ public abstract class ControllerBase
=> new BadRequestResult();
/// <summary>
/// Creates an <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// Creates a <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// </summary>
/// <param name="error">An error object to be returned to the client.</param>
/// <returns>The created <see cref="BadRequestObjectResult"/> for the response.</returns>
@ -1782,7 +1782,7 @@ public abstract class ControllerBase
=> new BadRequestObjectResult(error);
/// <summary>
/// Creates an <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// Creates a <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// </summary>
/// <param name="modelState">The <see cref="ModelStateDictionary" /> containing errors to be returned to the client.</param>
/// <returns>The created <see cref="BadRequestObjectResult"/> for the response.</returns>
@ -1825,7 +1825,7 @@ public abstract class ControllerBase
}
/// <summary>
/// Creates an <see cref="ConflictResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// Creates a <see cref="ConflictResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// </summary>
/// <returns>The created <see cref="ConflictResult"/> for the response.</returns>
[NonAction]
@ -1833,7 +1833,7 @@ public abstract class ControllerBase
=> new ConflictResult();
/// <summary>
/// Creates an <see cref="ConflictObjectResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// Creates a <see cref="ConflictObjectResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// </summary>
/// <param name="error">Contains errors to be returned to the client.</param>
/// <returns>The created <see cref="ConflictObjectResult"/> for the response.</returns>
@ -1842,7 +1842,7 @@ public abstract class ControllerBase
=> new ConflictObjectResult(error);
/// <summary>
/// Creates an <see cref="ConflictObjectResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// Creates a <see cref="ConflictObjectResult"/> that produces a <see cref="StatusCodes.Status409Conflict"/> response.
/// </summary>
/// <param name="modelState">The <see cref="ModelStateDictionary" /> containing errors to be returned to the client.</param>
/// <returns>The created <see cref="ConflictObjectResult"/> for the response.</returns>
@ -1898,7 +1898,7 @@ public abstract class ControllerBase
}
/// <summary>
/// Creates an <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// Creates a <see cref="BadRequestObjectResult"/> that produces a <see cref="StatusCodes.Status400BadRequest"/> response.
/// </summary>
/// <returns>The created <see cref="BadRequestObjectResult"/> for the response.</returns>
[NonAction]
@ -2095,7 +2095,7 @@ public abstract class ControllerBase
=> new CreatedAtRouteResult(routeName, routeValues, value);
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <returns>The created <see cref="AcceptedResult"/> for the response.</returns>
[NonAction]
@ -2103,7 +2103,7 @@ public abstract class ControllerBase
=> new AcceptedResult();
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="value">The optional content value to format in the entity body; may be null.</param>
/// <returns>The created <see cref="AcceptedResult"/> for the response.</returns>
@ -2112,7 +2112,7 @@ public abstract class ControllerBase
=> new AcceptedResult(location: null, value: value);
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="uri">The optional URI with the location at which the status of requested content can be monitored.
/// May be null.</param>
@ -2126,7 +2126,7 @@ public abstract class ControllerBase
}
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="uri">The optional URI with the location at which the status of requested content can be monitored.
/// May be null.</param>
@ -2136,7 +2136,7 @@ public abstract class ControllerBase
=> new AcceptedResult(location: uri, value: null);
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="uri">The URI with the location at which the status of requested content can be monitored.</param>
/// <param name="value">The optional content value to format in the entity body; may be null.</param>
@ -2146,7 +2146,7 @@ public abstract class ControllerBase
=> new AcceptedResult(uri, value);
/// <summary>
/// Creates a <see cref="AcceptedResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="uri">The URI with the location at which the status of requested content can be monitored.</param>
/// <param name="value">The optional content value to format in the entity body; may be null.</param>
@ -2160,7 +2160,7 @@ public abstract class ControllerBase
}
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <returns>The created <see cref="AcceptedAtActionResult"/> for the response.</returns>
@ -2169,7 +2169,7 @@ public abstract class ControllerBase
=> AcceptedAtAction(actionName, routeValues: null, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <param name="controllerName">The name of the controller to use for generating the URL.</param>
@ -2179,7 +2179,7 @@ public abstract class ControllerBase
=> AcceptedAtAction(actionName, controllerName, routeValues: null, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <param name="value">The optional content value to format in the entity body; may be null.</param>
@ -2189,7 +2189,7 @@ public abstract class ControllerBase
=> AcceptedAtAction(actionName, routeValues: null, value: value);
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <param name="controllerName">The name of the controller to use for generating the URL.</param>
@ -2200,7 +2200,7 @@ public abstract class ControllerBase
=> AcceptedAtAction(actionName, controllerName, routeValues, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <param name="routeValues">The route data to use for generating the URL.</param>
@ -2211,7 +2211,7 @@ public abstract class ControllerBase
=> AcceptedAtAction(actionName, controllerName: null, routeValues: routeValues, value: value);
/// <summary>
/// Creates a <see cref="AcceptedAtActionResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtActionResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="actionName">The name of the action to use for generating the URL.</param>
/// <param name="controllerName">The name of the controller to use for generating the URL.</param>
@ -2227,7 +2227,7 @@ public abstract class ControllerBase
=> new AcceptedAtActionResult(actionName, controllerName, routeValues, value);
/// <summary>
/// Creates a <see cref="AcceptedAtRouteResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtRouteResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="routeValues">The route data to use for generating the URL.</param>
/// <returns>The created <see cref="AcceptedAtRouteResult"/> for the response.</returns>
@ -2236,7 +2236,7 @@ public abstract class ControllerBase
=> AcceptedAtRoute(routeName: null, routeValues: routeValues, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtRouteResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtRouteResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="routeName">The name of the route to use for generating the URL.</param>
/// <returns>The created <see cref="AcceptedAtRouteResult"/> for the response.</returns>
@ -2245,7 +2245,7 @@ public abstract class ControllerBase
=> AcceptedAtRoute(routeName, routeValues: null, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtRouteResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtRouteResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="routeName">The name of the route to use for generating the URL.</param>
///<param name="routeValues">The route data to use for generating the URL.</param>
@ -2255,7 +2255,7 @@ public abstract class ControllerBase
=> AcceptedAtRoute(routeName, routeValues, value: null);
/// <summary>
/// Creates a <see cref="AcceptedAtRouteResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtRouteResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="routeValues">The route data to use for generating the URL.</param>
/// <param name="value">The optional content value to format in the entity body; may be null.</param>
@ -2265,7 +2265,7 @@ public abstract class ControllerBase
=> AcceptedAtRoute(routeName: null, routeValues: routeValues, value: value);
/// <summary>
/// Creates a <see cref="AcceptedAtRouteResult"/> object that produces an <see cref="StatusCodes.Status202Accepted"/> response.
/// Creates an <see cref="AcceptedAtRouteResult"/> object that produces a <see cref="StatusCodes.Status202Accepted"/> response.
/// </summary>
/// <param name="routeName">The name of the route to use for generating the URL.</param>
/// <param name="routeValues">The route data to use for generating the URL.</param>

Просмотреть файл

@ -95,7 +95,7 @@ public partial class ForbidResult : ActionResult
var httpContext = context.HttpContext;
var loggerFactory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger<ForbidResult>();
var logger = loggerFactory.CreateLogger(typeof(ForbidResult));
Log.ForbidResultExecuting(logger, AuthenticationSchemes);
if (AuthenticationSchemes != null && AuthenticationSchemes.Count > 0)

Просмотреть файл

@ -81,7 +81,7 @@ public partial class SignInResult : ActionResult
var httpContext = context.HttpContext;
var loggerFactory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger<SignInResult>();
var logger = loggerFactory.CreateLogger(typeof(SignInResult));
Log.SignInResultExecuting(logger, AuthenticationScheme, Principal);
return httpContext.SignInAsync(AuthenticationScheme, Principal, Properties);

Просмотреть файл

@ -111,7 +111,7 @@ public partial class SignOutResult : ActionResult, IResult
}
var loggerFactory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger<SignOutResult>();
var logger = loggerFactory.CreateLogger(typeof(SignOutResult));
Log.SignOutResultExecuting(logger, AuthenticationSchemes);
if (AuthenticationSchemes.Count == 0)

Просмотреть файл

@ -37,7 +37,7 @@ public partial class StatusCodeResult : ActionResult, IClientErrorActionResult
var httpContext = context.HttpContext;
var factory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = factory.CreateLogger<StatusCodeResult>();
var logger = factory.CreateLogger(typeof(StatusCodeResult));
Log.HttpStatusCodeResultExecuting(logger, StatusCode);
httpContext.Response.StatusCode = StatusCode;

Просмотреть файл

@ -35,6 +35,7 @@ internal static class TemplatePackageInstaller
"Microsoft.DotNet.Web.ProjectTemplates.6.0",
"Microsoft.DotNet.Web.ProjectTemplates.7.0",
"Microsoft.DotNet.Web.ProjectTemplates.8.0",
"Microsoft.DotNet.Web.ProjectTemplates.9.0",
"Microsoft.AspNetCore.Blazor.Templates",
};

Просмотреть файл

@ -24,7 +24,7 @@
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
##endif*@

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Aplikace Blazor WebAssembly",
"name": "Samostatná aplikace Blazor WebAssembly",
"description": "Šablona projektu pro vytvoření aplikace Blazor, která běží ve WebAssembly. Tato šablona se dá využít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI).",
"symbols/Framework/description": "Cílová architektura pro projekt",
"symbols/Framework/choices/net8.0/description": "Cílový net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Zahrnout ukázkové stránky",
"symbols/IncludeSampleContent/description": "Nastavuje, jestli se mají přidávat ukázkové stránky a styly pro demonstraci základních vzorů použití.",
"symbols/Empty/description": "Nastavuje, jestli se mají vynechat ukázkové stránky a styly, které demonstrují základní vzory použití.",
"symbols/skipRestore/description": "Pokud se tato možnost zadá, přeskočí automatické obnovení projektu při vytvoření.",
"symbols/auth/choices/None/description": "Bez ověřování",
"symbols/auth/choices/Individual/description": "Ověřování Individual",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor-WebAssembly App",
"name": "Eigenständige Blazor WebAssembly-App",
"description": "Eine Projektvorlage für das Erstellen einer Blazor-App, die in WebAssembly ausgeführt wird. Diese Vorlage kann für Web-Apps mit umfangreichen dynamischen Benutzeroberflächen verwendet werden.",
"symbols/Framework/description": "Das Zielframework für das Projekt.",
"symbols/Framework/choices/net8.0/description": "Ziel net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Include Beispielseiten",
"symbols/IncludeSampleContent/description": "Konfiguriert, ob Beispielseiten und Stile hinzugefügt werden, um grundlegende Verwendungsmuster zu veranschaulichen.",
"symbols/Empty/description": "Konfiguriert, ob Beispielseiten und Formatierungen weggelassen werden sollen, die grundlegende Verwendungsmuster veranschaulichen.",
"symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.",
"symbols/auth/choices/None/description": "Keine Authentifizierung",
"symbols/auth/choices/Individual/description": "Individuelle Authentifizierung",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Aplicación Blazor para WebAssembly",
"name": "Aplicación independiente WebAssembly de Blazor",
"description": "Plantilla de proyecto para crear una aplicación Blazor que se ejecuta en WebAssembly. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas.",
"symbols/Framework/description": "Marco de destino del proyecto.",
"symbols/Framework/choices/net8.0/description": "net8.0 de destino",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Incluir páginas de ejemplo",
"symbols/IncludeSampleContent/description": "Configura si se van a agregar páginas de ejemplo y estilos para mostrar patrones de uso básicos.",
"symbols/Empty/description": "Configura si se omiten las páginas de ejemplo y los estilos que muestran patrones de uso básicos.",
"symbols/skipRestore/description": "Si se especifica, se omite la restauración automática del proyecto durante la creación.",
"symbols/auth/choices/None/description": "Sin autenticación",
"symbols/auth/choices/Individual/description": "Autenticación individual",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Application WebAssembly Blazor",
"name": "Application Blazor WebAssembly autonome",
"description": "Modèle de projet permettant de créer une application Blazor qui s'exécute sur WebAssembly. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches.",
"symbols/Framework/description": "Framework cible du projet.",
"symbols/Framework/choices/net8.0/description": "Cible net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Inclure des exemples de pages",
"symbols/IncludeSampleContent/description": "Configure s'il faut ajouter des exemples de pages et de style pour illustrer les modèles d'utilisation de base.",
"symbols/Empty/description": "Configure s'il faut omettre les exemples de pages et le style qui illustrent les modèles d'utilisation de base.",
"symbols/skipRestore/description": "Sil est spécifié, ignore la restauration automatique du projet lors de la création.",
"symbols/auth/choices/None/description": "Aucune authentification",
"symbols/auth/choices/Individual/description": "Authentification individuelle",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "App WebAssembly Blazor",
"name": "App autonoma Blazor WebAssembly",
"description": "Modello di progetto per la creazione di un'app Blazor eseguita in WebAssembly. Questo modello può essere usato per app Web con interfacce utente dinamiche.",
"symbols/Framework/description": "Il framework di destinazione per il progetto.",
"symbols/Framework/choices/net8.0/description": "Destinazione net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Include pagine di esempio",
"symbols/IncludeSampleContent/description": "Consente di configurare se aggiungere pagine di esempio e stile per mostrare modelli di utilizzo di base.",
"symbols/Empty/description": "Consente di configurare se omettere pagine di esempio e stile che mostrano modelli di utilizzo di base.",
"symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.",
"symbols/auth/choices/None/description": "Nessuna autenticazione",
"symbols/auth/choices/Individual/description": "Autenticazione singola",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor WebAssembly アプリ",
"name": "Blazor WebAssembly スタンドアロン アプリ",
"description": "WebAssembly で実行される Blazor アプリを作成するためのプロジェクト テンプレート。このテンプレートは、高度でダイナミックなユーザー インターフェイス (UI) を備えた Web アプリに使用できます。",
"symbols/Framework/description": "プロジェクトのターゲット フレームワークです。",
"symbols/Framework/choices/net8.0/description": "ターゲット net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "サンプル ページを含める(_I)",
"symbols/IncludeSampleContent/description": "基本的な使用パターンを示すサンプル ページとスタイルを追加するかどうかを構成します。",
"symbols/Empty/description": "基本的な使用パターンを示すサンプル ページとスタイルを省略するかどうかを構成します。",
"symbols/skipRestore/description": "指定した場合、作成時にプロジェクトの自動復元がスキップされます。",
"symbols/auth/choices/None/description": "認証なし",
"symbols/auth/choices/Individual/description": "個別の認証",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor WebAssembly 앱",
"name": "Blazor WebAssembly 독립 실행형 앱",
"description": "WebAssembly에서 실행되는 Blazor 앱을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿을 사용하여 다양한 동적 UI(사용자 인터페이스)가 포함된 웹앱을 만들 수 있습니다.",
"symbols/Framework/description": "프로젝트에 대한 대상 프레임워크입니다.",
"symbols/Framework/choices/net8.0/description": "대상 net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "샘플 페이지 포함(_I)",
"symbols/IncludeSampleContent/description": "기본 사용 패턴을 보여주기 위해 샘플 페이지 및 스타일을 추가할지 여부를 구성합니다.",
"symbols/Empty/description": "기본 사용 패턴을 보여주는 샘플 페이지 및 스타일을 생략할지 여부를 구성합니다.",
"symbols/skipRestore/description": "지정된 경우, 프로젝트 생성 시 자동 복원을 건너뜁니다.",
"symbols/auth/choices/None/description": "인증 없음",
"symbols/auth/choices/Individual/description": "개별 인증",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Aplikacja zestawu WebAssembly platformy Blazor",
"name": "Autonomiczna aplikacja zestawu WebAssembly platformy Blazor",
"description": "Szablon projektu służący do tworzenia aplikacji Blazor działającej na zestawie WebAssembly. Ten szablon może być używany dla aplikacji internetowych z rozbudowanymi, dynamicznymi interfejsami użytkowników.",
"symbols/Framework/description": "Platforma docelowa dla tego projektu.",
"symbols/Framework/choices/net8.0/description": "Docelowa platforma net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Dołącz przykładowe strony",
"symbols/IncludeSampleContent/description": "Konfiguruje, czy dodać przykładowe strony i style w celu zademonstrowania podstawowych wzorców użycia.",
"symbols/Empty/description": "Konfiguruje, czy pomijać przykładowe strony i style demonstrujące podstawowe wzorce użycia.",
"symbols/skipRestore/description": "Jeśli ta opcja jest określona, pomija automatyczne przywracanie projektu podczas tworzenia.",
"symbols/auth/choices/None/description": "Bez uwierzytelniania",
"symbols/auth/choices/Individual/description": "Uwierzytelnianie indywidualne",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Aplicativo Blazor WebAssembly",
"name": "Aplicativo Autônomo Blazor WebAssembly",
"description": "Um modelo de projeto para criar um aplicativo Blazor que é executado no WebAssembly. Esse modelo pode ser usado para aplicativos Web com UIs (interfaces do usuário) completas e dinâmicas.",
"symbols/Framework/description": "A estrutura de destino do projeto.",
"symbols/Framework/choices/net8.0/description": "net8.0 de destino",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Incluir páginas de amostra",
"symbols/IncludeSampleContent/description": "Configura se deseja adicionar páginas de amostra e estilo para demonstrar padrões de uso básicos.",
"symbols/Empty/description": "Configura a omissão de páginas de amostra e estilo que demonstram padrões básicos de uso.",
"symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.",
"symbols/auth/choices/None/description": "Sem autenticação",
"symbols/auth/choices/Individual/description": "Autenticação individual",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Майкрософт",
"name": "Приложение WebAssembly Blazor",
"name": "Изолированное приложение Blazor WebAssembly",
"description": "Шаблон проекта для создания приложения Blazor, которое запускается в WebAssembly. Этот шаблон можно использовать для веб-приложений с полнофункциональными динамическими пользовательскими интерфейсами.",
"symbols/Framework/description": "Целевая платформа для проекта.",
"symbols/Framework/choices/net8.0/description": "Целевая net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "_Включить примеры страниц",
"symbols/IncludeSampleContent/description": "Настраивает, следует ли добавлять примеры страниц и стили для демонстрации базовых шаблонов использования.",
"symbols/Empty/description": "Настраивает, следует ли пропускать примеры страниц и стили, демонстрирующие базовые шаблоны использования.",
"symbols/skipRestore/description": "Если установлено, автоматическое восстановление проекта при создании пропускается.",
"symbols/auth/choices/None/description": "Без проверки подлинности",
"symbols/auth/choices/Individual/description": "Индивидуальная проверка подлинности",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor WebAssembly Uygulaması",
"name": "Blazor WebAssembly Tek Başına Uygulaması",
"description": "WebAssembly üzerinde çalışan bir Blazor uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir.",
"symbols/Framework/description": "Projenin hedef çerçevesi.",
"symbols/Framework/choices/net8.0/description": "Hedef net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "Örnek _sayfalar ekle",
"symbols/IncludeSampleContent/description": "Temel kullanım düzenlerini göstermek için örnek sayfaların ve stil oluşturma özelliklerinin eklenip eklenmeyeceğini yapılandırır.",
"symbols/Empty/description": "Temel kullanım düzenlerini gösteren örnek sayfaların ve stil oluşturma özelliklerinin atlanıp atlanmayacağını yapılandırır.",
"symbols/skipRestore/description": "Belirtilirse, oluşturma sırasında projenin otomatik geri yüklenmesini atlar.",
"symbols/auth/choices/None/description": "Kimlik doğrulaması yok",
"symbols/auth/choices/Individual/description": "Bireysel kimlik doğrulaması",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor WebAssembly 应用",
"name": "Blazor WebAssembly 独立应用",
"description": "用于创建在 WebAssembly 上运行的 Blazor 应用的项目模板。此模板可用于具有丰富动态用户界面(UI)的 Web 应用。",
"symbols/Framework/description": "项目的目标框架。",
"symbols/Framework/choices/net8.0/description": "目标 net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "包含示例页(_I)",
"symbols/IncludeSampleContent/description": "配置是否添加示例页和样式以演示基本使用模式。",
"symbols/Empty/description": "配置是否忽略演示基本使用模式的示例页和样式。",
"symbols/skipRestore/description": "如果指定,则在创建时跳过项目的自动还原。",
"symbols/auth/choices/None/description": "无身份验证",
"symbols/auth/choices/Individual/description": "个人身份验证",

Просмотреть файл

@ -1,12 +1,12 @@
{
"author": "Microsoft",
"name": "Blazor WebAssembly 應用程式",
"name": "Blazor WebAssembly 獨立應用程式",
"description": "用來建立在 WebAssembly 上執行之 Blazor 應用程式的專案範本。此範本可用於具有豐富動態使用者介面 (UI) 的 Web 應用程式。",
"symbols/Framework/description": "專案的目標 Framework。",
"symbols/Framework/choices/net8.0/description": "目標 net8.0",
"symbols/IncludeSampleContent/displayName": "_Include sample pages",
"symbols/IncludeSampleContent/description": "Configures whether to add sample pages and styling to demonstrate basic usage patterns.",
"symbols/Empty/description": "Configures whether to omit sample pages and styling that demonstrate basic usage patterns.",
"symbols/IncludeSampleContent/displayName": "包含範例頁面(_I)",
"symbols/IncludeSampleContent/description": "設定是否要新增範例頁面和樣式,以示範基本使用模式。",
"symbols/Empty/description": "設定是否要省略範例頁面和樣式,其示範基本使用模式。",
"symbols/skipRestore/description": "若指定,會在建立時跳過專案的自動還原。",
"symbols/auth/choices/None/description": "沒有驗證",
"symbols/auth/choices/Individual/description": "個別驗證",

Просмотреть файл

@ -32,8 +32,8 @@
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!--#if (IndividualLocalAuth) -->
<script src="_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"></script>

Просмотреть файл

@ -11,4 +11,4 @@
"postActions/restore/description": "Restore NuGet packages required by this project.",
"postActions/restore/manualInstructions/default/text": "Run 'dotnet restore'",
"postActions/openInEditor/description": "Opens Areas/MyFeature/Pages/Page1.cshtml in the editor"
}
}

Просмотреть файл

@ -11,6 +11,7 @@
"author": "",
"license": "MIT",
"dependencies": {
"selenium-standalone": "^7.1.0"
"selenium-standalone": "^7.1.0",
"string_decoder": ">=1.3.0"
}
}

Просмотреть файл

@ -387,7 +387,7 @@ shebang-regex@^3.0.0:
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=
string_decoder@^1.1.1:
string_decoder@>=1.3.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=

Просмотреть файл

@ -18,7 +18,7 @@ public abstract class AuthenticationHandler<TOptions> : IAuthenticationHandler w
private Task<AuthenticateResult>? _authenticateTask;
/// <summary>
/// Gets or sets the <see cref="AuthenticationScheme"/> asssociated with this authentication handler.
/// Gets or sets the <see cref="AuthenticationScheme"/> associated with this authentication handler.
/// </summary>
public AuthenticationScheme Scheme { get; private set; } = default!;

Просмотреть файл

@ -105,7 +105,7 @@ public class RemoteAuthenticationOptions : AuthenticationSchemeOptions
/// <summary>
/// Gets or sets the authentication scheme corresponding to the middleware
/// responsible of persisting user's identity after a successful authentication.
/// responsible for persisting user's identity after a successful authentication.
/// This value typically corresponds to a cookie middleware registered in the Startup class.
/// When omitted, <see cref="AuthenticationOptions.DefaultSignInScheme"/> is used as a fallback value.
/// </summary>

Просмотреть файл

@ -48,7 +48,7 @@ public static class CertificateLoader
// Pick the first one if there's no exact match as a fallback to substring default.
foundCertificate ??= certificate;
if (certificate.GetNameInfo(X509NameType.SimpleName, true).Equals(subject, StringComparison.InvariantCultureIgnoreCase))
if (certificate.GetNameInfo(X509NameType.SimpleName, forIssuer: false).Equals(subject, StringComparison.InvariantCultureIgnoreCase))
{
foundCertificate = certificate;
break;

Просмотреть файл

@ -115,7 +115,7 @@ internal abstract partial class HttpHeaders : IHeaderDictionary
bool ICollection<KeyValuePair<string, StringValues>>.IsReadOnly => _isReadOnly;
ICollection<string> IDictionary<string, StringValues>.Keys => ((IDictionary<string, StringValues>)this).Select(pair => pair.Key).ToList();
ICollection<string> IDictionary<string, StringValues>.Keys => ((IDictionary<string, StringValues>)this).Select(pair => pair.Key).ToHashSet(StringComparer.OrdinalIgnoreCase);
ICollection<StringValues> IDictionary<string, StringValues>.Values => ((IDictionary<string, StringValues>)this).Select(pair => pair.Value).ToList();

Просмотреть файл

@ -79,7 +79,7 @@ internal sealed class ConnectionManager : IHeartbeatHandler
// It's safe to modify the ConcurrentDictionary in the foreach.
// The connection reference has become unrooted because the application never completed.
_trace.ApplicationNeverCompleted(reference.ConnectionId);
reference.StopTrasnsportTracking();
reference.StopTransportTracking();
}
// If both conditions are false, the connection was removed during the heartbeat.

Просмотреть файл

@ -28,7 +28,7 @@ internal sealed class ConnectionReference
return _weakReference.TryGetTarget(out connection);
}
public void StopTrasnsportTracking()
public void StopTransportTracking()
{
_transportConnectionManager.StopTracking(_id);
}

Просмотреть файл

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers;
@ -298,4 +299,12 @@ public class HttpHeadersTests
Assert.Null(httpHeaders.ContentLength);
Assert.False(httpHeaders.ContentLength.HasValue);
}
[Fact]
public void KeysCompareShouldBeCaseInsensitive()
{
var httpHeaders = (IHeaderDictionary)new HttpRequestHeaders();
httpHeaders["Cache-Control"] = "no-cache";
Assert.True(httpHeaders.Keys.Contains("cache-control"));
}
}

Просмотреть файл

@ -27,7 +27,7 @@ public class WebHostTests : LoggedTest
[SkipNonHelix]
[SkipOnAlpine("https://github.com/dotnet/aspnetcore/issues/46537")]
[SkipOnMariner("https://github.com/dotnet/aspnetcore/issues/46537")]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/46616;https://github.com/dotnet/aspnetcore/issues/47065", Queues = "Debian.12.Arm64.Open;Windows.Amd64.Server2022.Open")]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/46616;https://github.com/dotnet/aspnetcore/issues/47065", Queues = "Debian.12.Arm64.Open;")]
[OSSkipCondition(OperatingSystems.MacOSX, SkipReason = "HTTP/3 isn't supported on MacOS.")]
[MinimumOSVersion(OperatingSystems.Windows, WindowsVersions.Win11_21H2)]
public void HelixPlatform_QuicListenerIsSupported()

Просмотреть файл

@ -70,7 +70,7 @@ internal abstract partial class InvocationRequest : IDisposable
private readonly Channel<object?> _channel = Channel.CreateUnbounded<object?>();
public Streaming(CancellationToken cancellationToken, Type resultType, string invocationId, ILoggerFactory loggerFactory, HubConnection hubConnection)
: base(cancellationToken, resultType, invocationId, loggerFactory.CreateLogger<Streaming>(), hubConnection)
: base(cancellationToken, resultType, invocationId, loggerFactory.CreateLogger(typeof(Streaming)), hubConnection)
{
}
@ -130,7 +130,7 @@ internal abstract partial class InvocationRequest : IDisposable
private readonly TaskCompletionSource<object?> _completionSource = new TaskCompletionSource<object?>(TaskCreationOptions.RunContinuationsAsynchronously);
public NonStreaming(CancellationToken cancellationToken, Type resultType, string invocationId, ILoggerFactory loggerFactory, HubConnection hubConnection)
: base(cancellationToken, resultType, invocationId, loggerFactory.CreateLogger<NonStreaming>(), hubConnection)
: base(cancellationToken, resultType, invocationId, loggerFactory.CreateLogger(typeof(NonStreaming)), hubConnection)
{
}

Просмотреть файл

@ -2893,7 +2893,7 @@ public class HubConnectionTests : FunctionalTestBase
// In-progress send canceled when connection closes
var ex = await Assert.ThrowsAnyAsync<Exception>(() => resultTask);
Assert.True(ex is TaskCanceledException or WebSocketException);
Assert.True(ex is TaskCanceledException || ex is WebSocketException);
await closedTcs.Task;
Assert.Equal(HubConnectionState.Disconnected, connection.State);

Просмотреть файл

@ -57,7 +57,9 @@
"lodash": ">=4.17.21",
"ua-parser-js": "^0.7.30",
"minimist": ">=1.2.6",
"ws": ">=7.4.6"
"ws": ">=7.4.6",
"string_decoder": ">=1.3.0",
"tough-cookie": ">=4.1.3"
},
"author": "",
"license": "MIT"

Просмотреть файл

@ -3113,7 +3113,7 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
@ -3354,20 +3354,13 @@ string-width@^4.1.0, string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string_decoder@^1.1.1:
string_decoder@>=1.3.0, string_decoder@^1.1.1, string_decoder@~1.1.1:
version "1.3.0"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=
dependencies:
safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
dependencies:
safe-buffer "~5.1.0"
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
@ -3516,10 +3509,10 @@ toidentifier@1.0.1:
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha1-O+NDIaiKgg7RvYDfqjPkefu43TU=
tough-cookie@^4.0.0:
version "4.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
integrity sha1-5T6EuF8k4LZd1Sb0ZijbbIX2uHQ=
tough-cookie@>=4.1.3, tough-cookie@^4.0.0:
version "4.1.3"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
integrity sha1-l7mtsHKLQigKo9gUtrmZsv8DGL8=
dependencies:
psl "^1.1.33"
punycode "^2.1.1"

Просмотреть файл

@ -34,6 +34,7 @@
"resolutions": {
"ansi-regex": "5.0.1",
"set-value": ">=4.0.1",
"minimist": ">=1.2.6"
"minimist": ">=1.2.6",
"string_decoder": ">=1.3.0"
}
}

Просмотреть файл

@ -3161,12 +3161,12 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
safe-buffer@^5.1.0:
safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
@ -3314,12 +3314,12 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
string_decoder@>=1.3.0, string_decoder@~1.1.1:
version "1.3.0"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=
dependencies:
safe-buffer "~5.1.0"
safe-buffer "~5.2.0"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"

Просмотреть файл

@ -49,6 +49,7 @@
},
"devDependencies": {},
"resolutions": {
"ws": ">=7.4.6"
"ws": ">=7.4.6",
"tough-cookie": ">=4.1.3"
}
}

Просмотреть файл

@ -68,10 +68,10 @@ set-cookie-parser@^2.4.8:
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b"
integrity sha1-3dPppWaw6OCGKsqXSmrA4BNJQws=
tough-cookie@^4.0.0:
version "4.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
integrity sha1-5T6EuF8k4LZd1Sb0ZijbbIX2uHQ=
tough-cookie@>=4.1.3, tough-cookie@^4.0.0:
version "4.1.3"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
integrity sha1-l7mtsHKLQigKo9gUtrmZsv8DGL8=
dependencies:
psl "^1.1.33"
punycode "^2.1.1"

Просмотреть файл

@ -58,7 +58,8 @@
"ws": "^7.4.5"
},
"resolutions": {
"ansi-regex": "5.0.1"
"ansi-regex": "5.0.1",
"tough-cookie": ">=4.1.3"
},
"browser": {
"./src/DynamicImports.ts": "./src/DynamicImports.browser.ts",

Просмотреть файл

@ -213,10 +213,10 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
tough-cookie@^4.0.0:
version "4.1.2"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
integrity sha1-5T6EuF8k4LZd1Sb0ZijbbIX2uHQ=
tough-cookie@>=4.1.3, tough-cookie@^4.0.0:
version "4.1.3"
resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
integrity sha1-l7mtsHKLQigKo9gUtrmZsv8DGL8=
dependencies:
psl "^1.1.33"
punycode "^2.1.1"

Просмотреть файл

@ -72,7 +72,6 @@ public class EndToEndTests : FunctionalTestBase
[Theory]
[MemberData(nameof(TransportTypes))]
[LogLevel(LogLevel.Trace)]
[QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/49315")]
public async Task CanStartAndStopConnectionUsingGivenTransport(HttpTransportType transportType)
{
await using (var server = await StartServer<Startup>())

@ -1 +1 @@
Subproject commit 7e33b6a1c497ced1e98fc60175aeb4678419281c
Subproject commit 8a6feabf04bec8fb125e0df0ad1195c42350725f