lunes, 19 de octubre de 2009

Microsoft.SharePoint.SPUser is not marked as serializable

Escenaro: Este es un error muy interesante.
Se presento en un WorkFlow muy simple, donde en el evento load del WorkFlow se guardaba los datos del usuario al que se le estaba asignado la tarea, para poder usarlo al final del proceso, los datos del usuario eran guardados en un SPUser.

Detalle :

Type 'Microsoft.SharePoint.SPUser' in Assembly 'Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' is not
marked as serializable. Type 'Microsoft.SharePoint.SPUser' in Assembly
'Microsoft.SharePoint, Version=12.0.0.0

Solucion: Esto pasa cuando se hace public un variable del tipo SPUser o SPListItem. En el proceso de Hidratacion/Desidratacion estos tipos se vuelven no serializables. Es Preferible crear una clase alterna a estos objetos y usarlos, tomando las consideraciones necesarias para poder serializarlas, como contructor vacio por ejemplo.
Espero les sea de ayuda.

No hay comentarios:

Publicar un comentario