res2001: Ок, я понимаю, что это может быть мой собственный код. Но мне сейчас в любом случае нужно знать как устроена очередь отправки в винде, если таковая есть.
Скорее второй вариант. Не критично, если какие-то данные потеряются. Там важна просто динамика изменений, поэтому картинка не развалится, если какие-то данные не дойдут.
Алексей С.: Прямо по времени не могу сказать, но что-то на уровне секунды. Проблема в обработках, конечно, возможна, но на аналогичном дата-провайдере в России таких проблем не наблюдается.
Убрал _internalCacheLocker и все заработало. Хотя ситуация очень странная. Ошибка была даже не в методе Add а еще в конструкторе, то есть если мы внутри внутреннего кэша создаем словарь на основе уже сущетсвующего, то в его глубинах происходит ошибка добавления уже существующего ключа. Причем она не всегда проявлялась, а только в некоторых случаях, которые, благо, легко воспроизводились.
Максим Ванюшкин: "дак ссылка на объект и не будет меняться, это гарантировано)) он же приватный"
Я тоже так думаю, но автор этого кода решил иначе и наверняка не без оснований.) В любом случае, не хочу в это сильно вдумываться, пока не решу текущую проблему.)
Максим Ванюшкин: Я могу, конечно показать вызывающий код, но думаю, от этого не станет понятнее.) Я просто рассчитывал, что найдется кто-то у кого случалась такая же ошибка и он знает в чем причина. На самом деле там еще в конструкторе этого Dictionary вылезает ошибка добавления ключа. Вот это вообще странно.
Максим Ванюшкин: Чтобы гарантировать, что мы будем проводить манипуляции не со ссылкой на объект, который может изменяться, а со снимком этого необходимого объекта, который гарантированно меняться не будет. По крайней мере идея такая.)
1) Унаследовал, а что еще нужно сделать для того чтобы изменения были видны? Кстати, поля обновляются, когда, например я ввожу в один TextBox свойство и через другой TextBox вывожу это же свойство. То есть какбы получается, что TexBox1 --> DataModel.A0 --> TextBox2 получается, а вот просто DataModel.A0 --> TextBox3 не получается.
2) Это для своих целей, но не суть. Можно и не занулять, конечно