VSTO处理大file upload和“Microsoft office Excel正在等待另一个进程完成OLE动作”

我的VSTO插件需要上传大文件到我们的服务器,所以为了做到这一点,我一直在使用HttpClient.PostAsync
会发生什么是相当大的文件(> 100Mb,但我们需要处理文件高达5Gb)我得到的“Microsoft Office Excel正在等待另一个进程来完成一个OLE动作”的错误。 它不能及时触发TaskCanceledException

我已经尝试了Application.DisplayAlerts = false解决scheme,但是它并没有触发模态警告我们,请求仍然被取消。

这是发送请求的代码:

 using (HttpClient client = HttpClientFactory.Create(progressHandler)) using (MultipartFormDataContent formData = new MultipartFormDataContent()) { formData.Add(fileStreamContent, "file"); HttpResponseMessage response = await client.PostAsync(url, formData); if (response == null || response.StatusCode != HttpStatusCode.OK) return null; return response.Content.ReadAsStringAsync().Result; } 

我最后的手段是手动stream文件通过阅读块并发送。 但是,这种方式打败了使用HttpClient来传输file upload的目的。

我寻找方法来增加或删除任务被取消之前的延迟,但无济于事。