我正在使用Microsoft.Web.Redis.RedisSessionStateProvider
以及在ASP.NET MVC 5應用程序中在Azure上配置的Redis緩存。如何使用Azure Redis會話狀態提供程序在ASP.NET會話中存儲集合
而我正在討論在控制器中定義的某些動作中將值存儲在Session
中。
List<int> items = new List<int>();
items.Add(5);
Session["Items"] = items;
但是,如果我試圖來存儲我自己的類的集合,它不堅持(後另一個請求,Session["Products"]
是null
):如果我保存的原始值(Session["Foo"]="Bar"
)或原語的集合,它工作正常:
List<Product> products = new List<Product>();
products.Add(db.Find(Id));
Session["Products"] = products;
類Product
看起來像這樣:
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public int CategoryID { get; set; }
[ForeignKey("CategoryID")]
public Category Category { get; set; }
public decimal Price { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
我應該怎麼做來存儲研究所這個班的小班在上課?
我試過了,但沒有幫助。 – lort
試着把你的'新列表();'換成標有'[Serializable]'的另一個類。 –
haim770