Вот мой объект данных, что я хочу сделать поточно:Как потокобезопасный комплексный объект данных?
Dictionary<string, Dictionary<ClassA, ClassB>>
Вот определение классов, без Hashcode DEFS:
public ClassA{
public string String1 {get; set;}
public string String2 {get; set;}
}
public ClassB{
public double Double1 {get; set;}
public double Double2 {get; set;}
}
В основном структура значения вложенного словаря постоянно меняется. Я хочу передать этот объект, чтобы его затем отправили/опубликовали в очередь сообщений (RabbitMQ). Я запускаю Исключения, которые бросают туда, где говорится, что коллекция Enum изменяется, поскольку она отправляется/публикуется в MQ.
Как я могу это решить?
Большое спасибо!
Ваш вопрос довольно расплывчатый, поскольку мы не можем увидеть, как вы используете словарь. Но похоже, что это может помочь, если вы создадите копию ваших снимков и отправьте их в очередь. –
Если мы не сможем точно понять, как вы собираетесь использовать словарь Словарей, и будут ли экземпляры ClassA и ClassB одновременно обрабатываться из разных потоков, на этот вопрос невозможно ответить. – spender
Вы, ребята, правы - я создал копию своего объекта и вместо этого натолкнулся на это. Большое спасибо! – TheBear