El marco de. NET proporciona dos formateadores de serialización de objetos de interacción remota de aplicaciones.
Serializar objetos
La serialización se utiliza en. NET Remoting para enviar datos entre dominios de aplicación. Para los objetos de cálculo por valor, los propios datos se serializa y se copian a través de los dominios de aplicación. En el caso de los objetos de cálculo por referencia, sólo la referencia se serializa y se envía. Serialización en. NET Remoting se puede hacer usando el formateador binario para aplicaciones donde la velocidad es crítica, o el jabón si el formateador de interoperabilidad o entre firewalls comunicación es necesaria. Formattters se pueden cambiar en cualquier momento sin afectar el código de comunicación remota.
Lo que necesita
Aplicaciones de cliente remoto. NET y el servidor
Visual Studio Sugiera Edita preparar la clase
Añadir SerializableAttribute al comienzo de la declaración de clase
Public Serializable () Clase TestSimpleObject ... End Class
Asegúrese de que cada miembro de la clase es serializable. El NonSerializedAttribute atributo puede ser añadido si el miembro debe ser ignorado. Comportamiento predeterminado del marco es serializar campos públicos y privados.
Agregue el OptionalFieldAttribute atribuir a un campo que puede quedar con un valor nulo. Esto se suma a la declaración del campo:
Public Serializable () Clase TestSimpleObject
System.Runtime.Serialization.OptionalField _TITLE cadena privada
End Class
Encapsular los métodos
Encapsular el método de serialización (binario):
public static void BinarySerialize (objeto obj, archivo de cadena) {using (FileStream _FileStream = new FileStream (archivo, FileMode.Create)) {BinaryFormatter _Formatter = new BinaryFormatter (); _Formatter.Serialize (_FileStream, obj);}}
Encapsular el método de deserialización (binario):
objeto public static BinaryDeserialize (string file) {using (FileStream _FileStream = new FileStream (archivo, FileMode.Open)) {BinaryFormatter _Formatter = new BinaryFormatter (); regreso _Formatter.Deserialize (_FileStream);}}
Formateadores se pueden cambiar de binario a SOAP / XML, simplemente cambiando BinaryFormatter para XMLSerializer.
Consejos y advertencias
Usa XMLSerializer durante el desarrollo, incluso si el BinaryFormatter se utilizará en la producción. La salida de XMLSerializer es legible y hace la solución de problemas durante el desarrollo mucho más fácil.
Verifique la comunicación subyacente entre hosts o dominios de aplicación es funcional antes de probar la comunicación remota. Esto puede ahorrar un montón de tiempo de solución de problemas en el desarrollo.
No hay comentarios:
Publicar un comentario