Xamarin Forms HttpClient PostAsync 总是抛出 NSMallocException

Xamarin Forms HttpClient PostAsync always throw NSMallocException

我们正在使用 Xamarin Forms 5 和 Visual Studio 2022 为 iOS 和 Android 构建移动应用程序。当我们向任何 api,无论是我们自己的还是外部的 api,我们总是返回:

Xamarin.PreBuilt.iOS[3728:2199180] Xamarin.iOS: Received unhandled ObjectiveC exception: NSMallocException Failed to grow buffer

GET 请求工作正常。我搜索了 Google 和 Whosebug,但找不到任何帮助。我试过增加 HttpClient.MaxResponseContentBufferSize 没有任何区别。

现在的应用程序非常简单,一个页面有一个按钮来测试。后面代码如下:

public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private async void Button_Clicked(object sender, EventArgs e)
        {
            var client = new HttpClient();
            client.BaseAddress = new Uri("https://ptsv2.com/");

            string jsonData = @"{}";

            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
            HttpResponseMessage response = await client.PostAsync("/t/l4x2e-1637576441/post", content);

            var result = await response.Content.ReadAsStringAsync();
        }
    } 

这在 iOS 链接设备上失败,但对于 Android 模拟器它有效。我需要为 iOS 更改什么吗?

更新

该代码可在除我以外的多台机器上运行,试图弄清楚这可能是什么设置,任何想法将不胜感激。

我遇到了完全相同的问题,并在 VS 反馈论坛上向 Microsoft 提交了一张票。然后今天我找到了一个简单的解决方法。至少我认为这是一种变通方法而不是解决方案。我在哪里

HttpClient client = new HttpClient() 

我改为这样做:

var handler = new HttpClientHandler();
HttpClient client = new HttpClient(handler);

还有宾果游戏,现在可以玩了。