2011-04-15 10 views
7

¿Existe alguna manera fácil de almacenar la configuración del usuario en una aplicación asp.net mvc? Por ejemplo, configuraciones tales como la frecuencia con la que desean notificaciones, dónde enviar notificaciones y cualquier otra cosa que se pueda imaginar que el usuario podría personalizar por sí mismo.Almacenar y recuperar configuraciones para el usuario en asp.net mvc

¿Hay algo incorporado en .net que pueda hacer esto? Me gustaría almacenar la configuración en la base de datos con una clave foriegn que enlace a ese usuario.

Si no hay funciones incorporadas en .net para esto, ¿cómo diseñaría la tabla de mi base de datos para la configuración? (Es un ejemplo)

Respuesta

7

¿Quiere que sean persistentes? Si no hay muchos de ellos, guárdelos en una cookie.

Si no puede almacenarlos en una cookie, a continuación, almacenar en una tabla de base de datos:

UserPreferences 
--------------- 
Id 
UserId 
PreferenceName 
Value 

Si usted está preocupado acerca de la normalización y todo eso, entonces siempre se podría añadir otra tabla:

Preferences 
------------- 
Id 
Name 
Type 

Y su mesa PreferenciasDelUsuario se convertiría en:

UserPreferences 
--------------- 
Id 
UserId 
PreferenceId 
Value 

podría seguir para siempre en tablas posibles, o mecanismos de persistencia. La pregunta es, ¿qué tipo de preferencias son estas? ¿Sesión? ¿Toda la vida?

+1

Lifetime, material que se ejecutará en segundo plano y utilizará la configuración almacenada en el servidor. –

2

Bien se podría tener una tabla en la base de datos que contendrá las preferencias de los usuarios:

Preferences 
----------- 
Id  <- PK 
UserId <- FK pointing to the User table 
Setting1 
Setting2 
... 
+2

-1 diseño horrible mesa –

+5

@Zerofiz, ¿le importa la elaboración y sugiriendo un mejor diseño? –

+4

¿Espera que agregue una nueva columna cada vez que quiera utilizar una nueva preferencia? –

3
Cuestiones relacionadas