dotnet/AspNetCore.Docs

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

開放

#31,140 建立於 2023年11月27日

 (1 則留言) (0 個反應) (0 位負責人)C# (24,791 個分叉)batch import
9.0:bomb: vanQUESTHelp wantedPri1code help wantedseQUESTered

倉庫指標

星標
 (13,093 顆星)
PR 合併指標
 (平均合併 2天 17小時) (30 天內合併 49 個 PR)

描述

I'm opening this as a placeholder to ensure that the changes from https://github.com/dotnet/aspnetcore/pull/46898 make it into the release notes for 9.0. See also: https://github.com/dotnet/aspnetcore/issues/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

貢獻者指南