OVH Cloud OVH Cloud

Serialisation non effective

2 réponses
Avatar
Delf
[Posté sur mpfda par erreur]

Bonjour.

Au niveau d'un WebService, j'ai la structure suivante :

[Serializable]
public struct SAVDocByGetDir
{
public string Type;
public string GUID;
//...
public bool Visual;
}

Cette structure ne contient que des types primitifs : string & bool.

Côté ASP.NET, impossible de stocker dans le ViewState un objet de ce type :

Le type 'WebSite.wsMediaRef.SAVDocByGetDir' doit être marqué comme
Serializable ou utiliser un TypeConverter autre que ReferenceConverter
dans le viewstate.

J'ai cherché, apparemment, le simple fait de mettre [Serializable] dans
mon cas devrait fonctionner... or ce n'est pas le cas.

Voici un test que j'ai fait :

ViewState["AllAVDocs"] =
(wsMediaRef.SAVDocByGetDir[])AllFiles.ToArray
(typeof(wsMediaRef.SAVDocByGetDir));

wsMediaRef.SAVDocByGetDir[] TMP =
(wsMediaRef.SAVDocByGetDir[])ViewState["AllAVDocs"];

TMP contient bien le tableau... j'y comprends plus rien.

Aucune erreur dans le code .cs. L'erreur apparait lors de la sortie de
la méthode Page_Load().

Merci.

--
Delf

2 réponses

Avatar
Paul Bacelar
Je crois qu'une arrayList d'objets sérialisables n'est pas sérialisable mais
un tableau d'object sérialisables est sérialisable.

--
Paul Bacelar

"Delf" wrote in message
news:425f8b41$0$7537$
[Posté sur mpfda par erreur]

Bonjour.

Au niveau d'un WebService, j'ai la structure suivante :

[Serializable]
public struct SAVDocByGetDir
{
public string Type;
public string GUID;
//...
public bool Visual;
}

Cette structure ne contient que des types primitifs : string & bool.

Côté ASP.NET, impossible de stocker dans le ViewState un objet de ce type


:

Le type 'WebSite.wsMediaRef.SAVDocByGetDir' doit être marqué comme
Serializable ou utiliser un TypeConverter autre que ReferenceConverter
dans le viewstate.

J'ai cherché, apparemment, le simple fait de mettre [Serializable] dans
mon cas devrait fonctionner... or ce n'est pas le cas.

Voici un test que j'ai fait :

ViewState["AllAVDocs"] > (wsMediaRef.SAVDocByGetDir[])AllFiles.ToArray
(typeof(wsMediaRef.SAVDocByGetDir));

wsMediaRef.SAVDocByGetDir[] TMP > (wsMediaRef.SAVDocByGetDir[])ViewState["AllAVDocs"];

TMP contient bien le tableau... j'y comprends plus rien.

Aucune erreur dans le code .cs. L'erreur apparait lors de la sortie de
la méthode Page_Load().

Merci.

--
Delf


Avatar
Delf
Paul Bacelar wrote:

Je crois qu'une arrayList d'objets sérialisables n'est pas sérialisable mais
un tableau d'object sérialisables est sérialisable.



En fait, j'ai du ajouter le box [Serialisable] dans le proxy.

--
Delf