2016-04-10 5 views
1

J'ai un problème d'envoyer myObject par TCP/IP.Envoyer myObject par TCP/IP

Mon ArchMap

public class ArchMap 
{ 
    public string DetalCode { get; set; } 
    public List<Arch> Archs { get; set; } 
} 

et Arc

public class Arch 
{ 
    public string ModulName { get; set; } 
    public string PartName1 { get; set; } 
    [...] 
} 

Je veux envoyer cette liste à TcpClient mais je ne sais pas comment convertir ma liste octet [].

J'essaie

var bf = new BinaryFormatter(); 
    var ms = new MemoryStream(); 
    bf.Serialize(ms, xarchList); 

mais j'obtiens l'erreur:

Additional information: Typ 'Arch_Sender.Model.ArchMap' in Assembly 'ArchSender.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable

Répondre

1

S'il vous plaît envisager d'utiliser Serializable attribut comme ceci:

ArchMap

using using System.Runtime.Serialization; 

[Serializable] 
public class ArchMap 
{ 
    public string DetalCode { get; set; } 
    public List<Arch> Archs { get; set; } 
} 

Arc

using System.Runtime.Serialization; 

[Serializable] 
public class Arch 
{ 
    public string ModulName { get; set; } 
    public string PartName1 { get; set; } 
    [...] 
} 

Plus d'info: https://msdn.microsoft.com/en-us/library/ms973893.aspx