Явно сохраняйте состояния в Workflow 4.0, а не во всем - PullRequest
0 голосов
/ 14 июня 2010

Я столкнулся с проблемой с моим хранилищем экземпляров SQL, подключенным к WorkflowApplication, который работает.При выходе из приложения я вызываю Unload() в приложении WF, чтобы сохранить его.Я не думал об этом во время разработки, но это имеет смысл, он сохраняет аргумент, который был передан конструктору WorkflowApplication при создании экземпляра.

Когда приложение запускается, все в рабочем процессе работает должным образом,Когда я вызываю Unload(), я получаю необработанное исключение, в котором говорится, что аргумент arg не сериализуем и ему требуется [DataContractAttribute].

. То, что передается в рабочий поток, это объект пользовательского регистратора приложений, который я написал, чтобы WFзапись на диск в едином порядке, который я предпочитаю.Как запретить приложению рабочего процесса сохранять этот один аргумент и сохранять все остальное?

Я уверен, что что-то можно сделать с расширениями, но мне трудно найти информацию о них или найти примеры постоянства длямой сценарий.

1 Ответ

1 голос
/ 14 июня 2010

Вы можете украсить переменную так, чтобы она не сериализовалась, с атрибутом [NonSerialized].

Это должно сработать, у меня это сработало в приложении WF3.5.См. http://msdn.microsoft.com/en-us/library/ms973893.aspx, заголовок «Выборочная сериализация»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...