Каковы последствия хранения объекта linq2sql в экземпляре рабочего процесса - PullRequest
0 голосов
/ 11 октября 2011

Я смог загрузить объекты linq2sql в мой экземпляр службы рабочего процесса и без проблем смог получить доступ к значениям из этих объектов.Однако я заметил, что созданные мной рабочие процессы, которые загружали эти объекты, неожиданно вызывались при получении, и мой рабочий процесс не работал должным образом.

Я подозреваю, что это проблема с сериализуемостью.Когда я удалил хранилище объектов, но просто сохранил некоторые выбранные «значения» из объекта (простые типы - bool, int), дополнительные вызовы исчезли, и рабочий процесс начал работать правильно.

Итак -Любые идеи о том, почему я мог видеть эти проблемы?Кто-нибудь действительно ЗНАЕТ, было ли это связано с сериализацией или примечанием?

Мысли?

1 Ответ

1 голос
/ 12 октября 2011

Я полагаю, что L2S использует события для целей отслеживания изменений по умолчанию, поэтому сущности, используемые в рабочем процессе, фактически содержат ссылки на объект контекста L2S. И с сериализацией он попытается сериализовать все это и перезагрузить его позже, что-то, что не работает. Лучше всего использовать простые объекты DTO, которые можно безопасно сериализовать и десериализовать как часть состояния рабочего процесса.

...