sen*_*r k 5 c# windows parallel-processing comexception uwp
我Windows.Web.Http.HttpClient在我的 UWP Windows 10 应用程序中使用。我HttpClient在我的应用程序中创建了一个实例,并为所有 HTTP 调用重新使用连接。一切正常,除了并行 HTTP 调用。
每当我发起并行 HTTP 请求时,并行线程第一次抛出以下 COMException。我捕获了这个异常并重新发送 http 调用,它成功了。过了一会儿,如果我再次启动并行线程,它又失败了。
抛出异常:System.Private.CoreLib.dll 中的“System.Runtime.InteropServices.COMException”
WinRT 信息:并发或交错操作更改了对象的状态,使此操作无效。
尝试冲浪,但无法获得解决方案。有没有人遇到过这个问题并得到解决方案?
这是代码示例:
httpClient 是一个可重用的实例。
Run Code Online (Sandbox Code Playgroud)var response = await httpClient.SendRequestAsync(reqMsg).AsTask(cts.Token); if (response.IsSuccessStatusCode) { if (isBufferResponseRequired) { return await response.Content.ReadAsBufferAsync(); } else { return await response.Content.ReadAsStringAsync(); } }我使用 Tasks.Run() 创建多个线程并并行访问 httpClient。