J'ai un objet distant (implémenté dans la partie serveur):
Public Interface IGestionAccueilObjets
Function GetEmployeS() As EmployeCollection
Function GetEmploye() As Employe
End Interface
Employe est définit de la facon suivante :
<Serializable()> Public Class Employe
Public Nom As String
Public Mail As String
End Class
Et employecollection :
<Serializable()> Public Class EmployeCollection
Inherits NameObjectCollectionBase
Default Public Property Item(ByVal key As [String]) As [Employe]
Get
Return CType(Me.BaseGet(key), Employe)
End Get
Set(ByVal Value As [Employe])
Me.BaseSet(key, Value)
End Set
End Property
Public Sub Add(ByVal key As [String], ByVal value As [Employe])
Me.BaseAdd(key, value)
End Sub
End Class
J'arrive à acceder à distance à mon objet IGestionAccueilObjets
et à appeler la méthode GetEmploye().
Mais quand j'essaye la méthode GetEmployeS() j'ai l'erreur suivante :
System.Runtime.Serialization.SerializationException: Le constructeur est
introuvable pour désérialiser un objet de type
IAccueilClients.EmployeCollection.
Dois-je comprendre que la framework est capable de sérializer
EmployeCollection
mais pas de le désérializer ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Mittelette[MS\)
Bonjour,
Avez vous tenté de mettre un constructeur par défaut dans la classe, car pour désériliser, le framework a visiblement besoin d'un constructeur pour reconstruire la collection. On peut laisser vide ce code.
HTH Eric
"MrChris" a écrit dans le message de news: u$im%
Salut !
J'ai un objet distant (implémenté dans la partie serveur):
Public Interface IGestionAccueilObjets Function GetEmployeS() As EmployeCollection Function GetEmploye() As Employe End Interface
Employe est définit de la facon suivante :
<Serializable()> Public Class Employe Public Nom As String Public Mail As String End Class
Et employecollection :
<Serializable()> Public Class EmployeCollection Inherits NameObjectCollectionBase
Default Public Property Item(ByVal key As [String]) As [Employe] Get Return CType(Me.BaseGet(key), Employe) End Get Set(ByVal Value As [Employe]) Me.BaseSet(key, Value) End Set End Property
Public Sub Add(ByVal key As [String], ByVal value As [Employe]) Me.BaseAdd(key, value) End Sub
End Class
J'arrive à acceder à distance à mon objet IGestionAccueilObjets et à appeler la méthode GetEmploye().
Mais quand j'essaye la méthode GetEmployeS() j'ai l'erreur suivante :
System.Runtime.Serialization.SerializationException: Le constructeur est introuvable pour désérialiser un objet de type IAccueilClients.EmployeCollection.
Dois-je comprendre que la framework est capable de sérializer EmployeCollection mais pas de le désérializer ???
Qu'ai-je oublié ???
Merci pour votre aide !!! MrChris
Bonjour,
Avez vous tenté de mettre un constructeur par défaut dans la classe, car
pour désériliser, le framework a visiblement besoin d'un constructeur pour
reconstruire la collection. On peut laisser vide ce code.
HTH
Eric
"MrChris" <mrchris@spam.com> a écrit dans le message de news:
u$im%23Og0EHA.1296@TK2MSFTNGP10.phx.gbl...
Salut !
J'ai un objet distant (implémenté dans la partie serveur):
Public Interface IGestionAccueilObjets
Function GetEmployeS() As EmployeCollection
Function GetEmploye() As Employe
End Interface
Employe est définit de la facon suivante :
<Serializable()> Public Class Employe
Public Nom As String
Public Mail As String
End Class
Et employecollection :
<Serializable()> Public Class EmployeCollection
Inherits NameObjectCollectionBase
Default Public Property Item(ByVal key As [String]) As [Employe]
Get
Return CType(Me.BaseGet(key), Employe)
End Get
Set(ByVal Value As [Employe])
Me.BaseSet(key, Value)
End Set
End Property
Public Sub Add(ByVal key As [String], ByVal value As [Employe])
Me.BaseAdd(key, value)
End Sub
End Class
J'arrive à acceder à distance à mon objet IGestionAccueilObjets
et à appeler la méthode GetEmploye().
Mais quand j'essaye la méthode GetEmployeS() j'ai l'erreur suivante :
System.Runtime.Serialization.SerializationException: Le constructeur est
introuvable pour désérialiser un objet de type
IAccueilClients.EmployeCollection.
Dois-je comprendre que la framework est capable de sérializer
EmployeCollection
mais pas de le désérializer ???
Avez vous tenté de mettre un constructeur par défaut dans la classe, car pour désériliser, le framework a visiblement besoin d'un constructeur pour reconstruire la collection. On peut laisser vide ce code.
HTH Eric
"MrChris" a écrit dans le message de news: u$im%
Salut !
J'ai un objet distant (implémenté dans la partie serveur):
Public Interface IGestionAccueilObjets Function GetEmployeS() As EmployeCollection Function GetEmploye() As Employe End Interface
Employe est définit de la facon suivante :
<Serializable()> Public Class Employe Public Nom As String Public Mail As String End Class
Et employecollection :
<Serializable()> Public Class EmployeCollection Inherits NameObjectCollectionBase
Default Public Property Item(ByVal key As [String]) As [Employe] Get Return CType(Me.BaseGet(key), Employe) End Get Set(ByVal Value As [Employe]) Me.BaseSet(key, Value) End Set End Property
Public Sub Add(ByVal key As [String], ByVal value As [Employe]) Me.BaseAdd(key, value) End Sub
End Class
J'arrive à acceder à distance à mon objet IGestionAccueilObjets et à appeler la méthode GetEmploye().
Mais quand j'essaye la méthode GetEmployeS() j'ai l'erreur suivante :
System.Runtime.Serialization.SerializationException: Le constructeur est introuvable pour désérialiser un objet de type IAccueilClients.EmployeCollection.
Dois-je comprendre que la framework est capable de sérializer EmployeCollection mais pas de le désérializer ???
Qu'ai-je oublié ???
Merci pour votre aide !!! MrChris
MrChris
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je dérive. Mais rien n'y fait. Je sens qu'il va falloir que je me tape la sérialization/désérialisation à la poigne... Des exemples ???
Merci MrChris
"Eric Mittelette[MS)" a écrit dans le message de news: uOd%
Bonjour,
Avez vous tenté de mettre un constructeur par défaut dans la classe, car pour désériliser, le framework a visiblement besoin d'un constructeur pour reconstruire la collection. On peut laisser vide ce code.
HTH Eric
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je
dérive.
Mais rien n'y fait.
Je sens qu'il va falloir que je me tape la sérialization/désérialisation à
la poigne...
Des exemples ???
Merci
MrChris
"Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le message de
news: uOd%235Yg0EHA.1568@tk2msftngp13.phx.gbl...
Bonjour,
Avez vous tenté de mettre un constructeur par défaut dans la classe, car
pour désériliser, le framework a visiblement besoin d'un constructeur pour
reconstruire la collection. On peut laisser vide ce code.
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je dérive. Mais rien n'y fait. Je sens qu'il va falloir que je me tape la sérialization/désérialisation à la poigne... Des exemples ???
Merci MrChris
"Eric Mittelette[MS)" a écrit dans le message de news: uOd%
Bonjour,
Avez vous tenté de mettre un constructeur par défaut dans la classe, car pour désériliser, le framework a visiblement besoin d'un constructeur pour reconstruire la collection. On peut laisser vide ce code.
HTH Eric
MrChris
C'est peut être parce que mon objet dérive de NameObjectCollectionBase ? pourtant NameObjectCollectionBase implémente ISerializable.
Je Nage !!! help bloub ! MrChris
C'est peut être parce que mon objet dérive de NameObjectCollectionBase ?
pourtant NameObjectCollectionBase implémente ISerializable.
C'est peut être parce que mon objet dérive de NameObjectCollectionBase ? pourtant NameObjectCollectionBase implémente ISerializable.
Je Nage !!! help bloub ! MrChris
Frederic Melantois
Bonjour,
Eric a parfaitement raison, vous avez oublié le constructeur : Private New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
Je peux vous conseiller un tutoriel sur le remoting fait par Elise : http://www.dotnet-tech.com/tutoriels/remoting/
et puis un tutoriel sur la sérialisation (pour l'instant en csharp;-) (ne pas voir Que le pdf mais bien regarder les sources ) : http://www.dotnet-tech.com/tutoriels/serialisation/
Frédéric Mélantois
"MrChris" a écrit dans le message de news:%
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je dérive. Mais rien n'y fait. Je sens qu'il va falloir que je me tape la sérialization/désérialisation à la poigne... Des exemples ???
Merci MrChris
"Eric Mittelette[MS)" a écrit dans le message de news: uOd% > Bonjour, > > Avez vous tenté de mettre un constructeur par défaut dans la classe, car > pour désériliser, le framework a visiblement besoin d'un constructeur
pour
> reconstruire la collection. On peut laisser vide ce code. > > HTH > Eric
Bonjour,
Eric a parfaitement raison, vous avez oublié le constructeur :
Private New(ByVal info As System.Runtime.Serialization.SerializationInfo,
ByVal context As System.Runtime.Serialization.StreamingContext)
Je peux vous conseiller un tutoriel sur le remoting fait par Elise :
http://www.dotnet-tech.com/tutoriels/remoting/
et puis un tutoriel sur la sérialisation (pour l'instant en csharp;-) (ne
pas voir Que le pdf mais bien regarder les sources ) :
http://www.dotnet-tech.com/tutoriels/serialisation/
Frédéric Mélantois
"MrChris" <mrchris@spam.com> a écrit dans le message de
news:%23Rt7Q3g0EHA.3336@TK2MSFTNGP11.phx.gbl...
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je
dérive.
Mais rien n'y fait.
Je sens qu'il va falloir que je me tape la sérialization/désérialisation à
la poigne...
Des exemples ???
Merci
MrChris
"Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le message de
news: uOd%235Yg0EHA.1568@tk2msftngp13.phx.gbl...
> Bonjour,
>
> Avez vous tenté de mettre un constructeur par défaut dans la classe, car
> pour désériliser, le framework a visiblement besoin d'un constructeur
pour
> reconstruire la collection. On peut laisser vide ce code.
>
> HTH
> Eric
Eric a parfaitement raison, vous avez oublié le constructeur : Private New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
Je peux vous conseiller un tutoriel sur le remoting fait par Elise : http://www.dotnet-tech.com/tutoriels/remoting/
et puis un tutoriel sur la sérialisation (pour l'instant en csharp;-) (ne pas voir Que le pdf mais bien regarder les sources ) : http://www.dotnet-tech.com/tutoriels/serialisation/
Frédéric Mélantois
"MrChris" a écrit dans le message de news:%
Oui, j'ai mis des sub new() partout et des MyBase.New() partout ou je dérive. Mais rien n'y fait. Je sens qu'il va falloir que je me tape la sérialization/désérialisation à la poigne... Des exemples ???
Merci MrChris
"Eric Mittelette[MS)" a écrit dans le message de news: uOd% > Bonjour, > > Avez vous tenté de mettre un constructeur par défaut dans la classe, car > pour désériliser, le framework a visiblement besoin d'un constructeur
pour
> reconstruire la collection. On peut laisser vide ce code. > > HTH > Eric