byte[] bin = r["BIN"] as byte[];
using (MemoryStream m = new MemoryStream(bin))
{
userBIN = Serializer.Deserialize<UserBIN>(m);
вот здесь при десериализации иногда возникает исключение, но если вызывать десериализацию ещё раз — то работает, не понимаю что за магия.
ещё заметил что исключение на 8000 байт, хотя использую varbinary(max) и должно быть больше в этот момент
Здравствуйте, dsalodki, Вы писали:
D>D>byte[] bin = r["BIN"] as byte[];
D>using (MemoryStream m = new MemoryStream(bin))
D>{
D> userBIN = Serializer.Deserialize<UserBIN>(m);
D>
D>вот здесь при десериализации иногда возникает исключение,
что за исключение? Стектрейс, мессадж, доп.поля в студию.
D>но если вызывать десериализацию ещё раз — то работает, не понимаю что за магия.
что значит "ещё раз"? С тем же m повторно вызываем Deserialize? С тем же bin конструируем новый MemoryStream? Или повторно выполняем тот же запрос из базы?
D>ещё заметил что исключение на 8000 байт, хотя использую varbinary(max) и должно быть больше в этот момент
Что значит "должно быть"? Запишите в лог bin.Count.