在使用LogicalCallContext
跨线程共享一些数据时,我们遇到了以下堆栈跟踪的异常
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Hashtable.HashtableEnumerator.MoveNext()
at System.Runtime.Remoting.Messaging.LogicalCallContext.Merge(LogicalCallContext lc)
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
当被调用跨线程合并时,我从MSDN中读到。我的问题是里面的 Hashtable 不支持并发。如果它不支持我们应该在第一点使用吗?如果是,是否有任何指导方针。EndInvoke
CallContext
CallContext
CallContext
谁能解释我什么时候可以看到这个堆栈跟踪?
如果您可以分享,则这种情况的示例会更有帮助。