¿es posible almacenar la lista en la variable de sesión en Asp.net C#?Lista de la tienda a la sesión
Respuesta
Sí, puede almacenar cualquier objeto (supongo que está utilizando ASP.NET con la configuración predeterminada, que está en proceso de estado de sesión):
Session["test"] = myList;
ha entregado de nuevo al tipo original para utiliza:
var list = (List<int>)Session["test"];
// list.Add(something);
Como señala Richard, se debe tener un cuidado especial si está utilizando otros modos de estado de sesión (por ejemplo, SQL Server) que requieren objetos para ser serializable.
No es exactamente cierto. Si necesita utilizar un almacén de sesión diferente al predeterminado en proc, la clase deberá ser serializable. Es por eso que es mejor marcar cualquier clase que pongas en sesión como Serializable desde el principio, luego puedes cambiar el mecanismo sin tener que editar tu código. – RichardOD
El punto válido es 1. 'List
@ Mehrdad- entiendo lo que querías decir y es bueno que tengas una muestra de código. Solo volvería a redactar el "cualquier objeto" en tu respuesta. – RichardOD
Sí. ¿Para qué plataforma estás escribiendo? ASP.NET C#?
List<string> myList = new List<string>();
Session["var"] = myList;
Entonces, para recuperar:
myList = (List<string>)Session["var"];
encontré en un archivo de clase fuera del alcance de la página, la forma anterior (que siempre he utilizado) no funcionó.
encontré una solución en este "contexto" de la siguiente manera:
HttpContext.Current.Session.Add("currentUser", appUser);
y
(AppUser) HttpContext.Current.Session["currentUser"]
De lo contrario el compilador esperaba una cadena cuando me señaló el objeto en el objeto de sesión.
Recibo tal error: System.Web.HttpException: no se puede serializar el estado de la sesión. En el modo 'StateServer' y 'SQLServer', ASP.NET serializará los objetos de estado de sesión y, como resultado, no se permiten objetos no serializables ni objetos MarshalByRef. La misma restricción se aplica si la serialización similar es realizada por el almacén de estado de sesión personalizado en modo 'Personalizado' –
probar este ..
List<Cat> cats = new List<Cat>
{
new Cat(){ Name = "Sylvester", Age=8 },
new Cat(){ Name = "Whiskers", Age=2 },
new Cat(){ Name = "Sasha", Age=14 }
};
Session["data"] = cats;
foreach (Cat c in cats)
System.Diagnostics.Debug.WriteLine("Cats>>" + c.Name); //DEBUGGG
YourListType ListName = (List<YourListType>)Session["SessionName"];
- 1. ¿Caché o tienda en sesión?
- 2. Lista de valores de la tienda (como intereses)
- 3. Tienda Opencv a la base de datos
- 4. ¿Qué se llama sesión de tienda?
- 5. Contraseña de usuario de la tienda ASP.Net en la cookie de sesión?
- 6. Sencha toque: Actualizar lista: tienda
- 7. Lista de comprobación preliminar antes de compilar la versión final para la tienda de aplicaciones
- 8. ¿Cómo enlazar a la tienda iTunes desde la aplicación iPhone?
- 9. Buscar la categoría raíz de la tienda
- 10. La tienda de aplicaciones no muestra mi lista de compras en la aplicación
- 11. ¿A dónde va la tienda de certificados 'Mi'?
- 12. tipo de datos a la tienda longitud/latitud en MySQL
- 13. Problemas que presentan aplicación FireMonkey a la tienda de aplicaciones
- 14. ¿Enlace a la tienda de aplicaciones sin redireccionamientos?
- 15. lista de copias AutoMapper a la lista
- 16. Objetos clásicos de la tienda ASP en el objeto de sesión
- 17. convertir la lista de objetos a la lista de interfaces
- 18. Código de la tienda de aplicaciones ofuscación?
- 19. Datos globales de la aplicación de tienda
- 20. Eliminar aplicación de la tienda de aplicaciones
- 21. ¿Convertir la lista de tuplas a la lista?
- 22. ¿Los NSUserDefaults persisten a través de una actualización de una aplicación en la tienda de aplicaciones?
- 23. Stop Devise de la sesión de borrado
- 24. Datos específicos de la ficha del navegador de la tienda
- 25. Imagen de la tienda django en la base de datos
- 26. Agregar un registro a la tienda en un lugar específico
- 27. Ext 4.1.1: Agregar nuevo registro a la tienda
- 28. ¿Cómo puedo encontrar la identificación de la sesión cuando uso express/connect y una tienda de sesiones?
- 29. Tienda IPv6 en la base de datos
- 30. iOS iTunes país de la tienda
Por favor, vea las etiquetas. Él ha mencionado claramente C# asp.net –