“有时”委托分配问题

问题描述 投票:0回答:1

在我的应用程序中我收到此错误:

System.InvalidOperationException:未分配委托时分配了委托 允许。

这是代码:

IAsyncOperationWithProgress<uint, uint> _socketWriter;
_socketWriter = _socket.OutputStream.WriteAsync(sendBuffer);
_socketWriter.Completed = OnSocketWriterCompleted;

真正的问题是,如果我运行该应用程序 100 次,我只会遇到此错误 1 或 2 次,所以这是一个非常罕见的问题。

知道如何获取有关此问题的更多信息或如何解决此问题吗?

c# windows-runtime windows-phone-8.1 async-await
1个回答
0
投票

由于等待同一个异步对象两次,我遇到了类似的错误https://devblogs.microsoft.com/oldnewthing/20210226-00/?p=104911

如果异步对象完成,那么第二次等待它是安全的,因此错误不会始终重现。

在设置完成处理程序后,您可能正在某处等待

_socketWriter

_socketWriter.Completed = OnSocketWriterCompleted;
© www.soinside.com 2019 - 2024. All rights reserved.