Skip to content

Support F# Async<'T> as an awaitable type in minimal APIs #31140

Open
@brianrourkeboll

Description

@brianrourkeboll

I'm opening this as a placeholder to ensure that the changes from dotnet/aspnetcore#46898 make it into the release notes for 9.0. See also: dotnet/aspnetcore#46773.

I see that 8.0 had #28596, so this issue should be linked to the equivalent for 9.0, if there ends up being one.

Additions

  • Support F# Async<'T> as an awaitable type in minimal APIs endpoints.

Changes

  • New runtime coercions: unitvoid, when unit is the generic type argument of a generic awaitable type. These coercions apply both to minimal APIs endpoints as well as to controller action methods.

    • Task<unit>Task
    • ValueTask<unit>ValueTask
    • Async<unit>Task

    With default serialization settings, endpoints with the return types Task<unit> or ValueTask<unit>, whose response body was formerly the JSON token null, will now return an empty response body instead.

EDIT by @Rick-Anderson to add the following metadata

Page URL

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-9.0

Content source URL

https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/minimal-apis.md

Document ID

b09824ab-b051-75a1-13b7-b0e281cc46e0

Article author

Rick-Anderson



Associated WorkItem - 186857

Metadata

Metadata

Assignees

Labels

9.0.NET 9Help wantedUp for grabs. We would accept a PR to help resolve this issuecode help wantedSample code help wanted.seQUESTeredIdentifies that an issue has been imported into Quest.

Type

No type

Projects

Status

To do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions