-
Notifications
You must be signed in to change notification settings - Fork 10.6k
OwningComponentBase doesn't implement IAsyncDisposable #25873
Copy link
Copy link
Labels
Pillar: Technical DebtPriority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutaffected-fewThis issue impacts only small number of customersThis issue impacts only small number of customersarea-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor ComponentsenhancementThis issue represents an ask for new feature or an enhancement to an existing oneThis issue represents an ask for new feature or an enhancement to an existing onefeature-blazor-builtin-componentsFeatures related to the built in components we ship or could ship in the futureFeatures related to the built in components we ship or could ship in the futureseverity-minorThis label is used by an internal toolThis label is used by an internal tool
Milestone
Metadata
Metadata
Assignees
Labels
Pillar: Technical DebtPriority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutaffected-fewThis issue impacts only small number of customersThis issue impacts only small number of customersarea-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor ComponentsenhancementThis issue represents an ask for new feature or an enhancement to an existing oneThis issue represents an ask for new feature or an enhancement to an existing onefeature-blazor-builtin-componentsFeatures related to the built in components we ship or could ship in the futureFeatures related to the built in components we ship or could ship in the futureseverity-minorThis label is used by an internal toolThis label is used by an internal tool
Type
Fields
Give feedbackNo fields configured for Feature.
Reported at #25817
When we implemented
IAsyncDisposablein components we should probably have also added support for this onOwningComponentBase.I'm not 100% certain whether adding it would count as a breaking change. To follow existing patterns, we'd want to implement
IAsyncDisposable.DisposeAsyncexplicitly and also add aprotected virtual DisposeAsync(bool disposing), but that would likely clash with anybody's existingIAsyncDisposableimplementation in existing subclasses. People would have to change theirIAsyncDisposableimplementations to override the new base-classDisposeAsyncmethod. So I guess it's quite breaking.