2010-08-11 13 views
6

¿Cómo manejan las versiones los perfiles ASP.NET? Lo sé porque los datos están serializados, esto podría ser un problema donde con tablas no lo es.ASP.NET Perfiles de versiones?

¿Lanzará algún tipo de error de serialización?

Ejemplo: Almacé un objeto v1 en los perfiles. Actualizo mi aplicación web con una nueva versión v2 pero la base de datos aún contiene objetos v1.

¿Qué sucederá cuando intento deserializar los objetos v1 en los objetos v2? ¿Y cuáles son las mejores soluciones para este problema?

Respuesta

3

Normalmente, ASP.NET trata los datos de perfil como una bolsa de propiedades, por lo que probablemente omita una propiedad (que se haya almacenado en el almacén de datos) pero se haya eliminado de la configuración. Del mismo modo, para la propiedad recién agregada, usaría el valor predeterminado. Ahora, el tipo de propiedades también importará: si el tipo de propiedad es su clase personalizada, XmlSerializer o BinaryFormatter manejarán su serialización. XmlSerializer es un valor predeterminado y generalmente es un serializador tolerante (se omiten las propiedades faltantes, etc.). Puede usar atributos para controlar la serialización xml. En el caso de BinaryFormatter, es lo mismo que la serialización en tiempo de ejecución y si desea admitir el control de versiones, es mejor que implemente ISerializable y maneje cualquier problema de control de versiones. No estoy seguro de qué sucedería en un caso en el que tenga una propiedad de perfil de algún tipo A y luego elimine ese tipo. Supongo que deberías obtener un error, pero no estoy ceratin al respecto.

normalmente prefiero a enrollar mi propia aplicación para el apoyo de elemento de perfil de usuario porque

  1. Las cosas tales como el control de versiones, etc pueden ser controlados de acuerdo con mi gusto
  2. Elección de la tienda y de almacenamiento esquema puede ser independiente (esto es posible en los perfiles de ASP.NET por la costumbre proveedor de perfil)
  3. se puede poner fácilmente en los datos de la aplicación y de perfil en capas también está disponible a cualquier clientes no web si es necesario
  4. Aunque significa reinventar la rueda y tener un cierto esfuerzo adicional, su valor para cualquier software que tiene vida útil de más de 2-3 años.
  5. Puedo controlar con precisión cuándo almacenar/recuperar los datos de perfil de el almacén de datos.
Cuestiones relacionadas