在C#中存储类对象

时间:2014-03-26 09:25:16

标签: c#-4.0 storage

我有一个包含一些数据成员和方法的类对象。我想存储此对象以供以后在应用程序中使用。

让我知道会话,缓存等方法在性能方面表现良好。

Person per1 = new Person();

这里我希望存储per1对象以供以后在应用程序中使用

2 个答案:

答案 0 :(得分:2)

您通常希望提高网站性能时使用 cache :减少数据库调用,访问文件系统上的文件,调用外部服务等。

Session 用于存储可从所有网页访问的用户特定信息,下次用户登录时不需要这些信息。

参见

what is difference between session, cache and profile in asp.net

Difference between cache and session in real time for Asp.Net

答案 1 :(得分:0)

您可以将对象标记为可序列化并存储它,然后将其反序列化以再次加载它。

序列化(您必须将其保存在计算机的任何目录中)

  XmlSerializer serializer = new XmlSerializer(per1.GetType());
   StreamWriter writer = new StreamWriter(@"D:\Temporary\myfile.xml");
   serializer.Serialize(writer.BaseStream, per1);

Desirialization(从该目录加载)

XmlSerializer serializer = new XmlSerializer(per1.GetType());
StreamReader reader = new StreamReader(@"D:\Temporary\myfile.xml");
object deserialized = serializer.Deserialize(reader.BaseStream);
city = (Person)deserialized;