Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 序列化json字符串中的会话对象_C#_Asp.net - Fatal编程技术网

C# 序列化json字符串中的会话对象

C# 序列化json字符串中的会话对象,c#,asp.net,C#,Asp.net,我构建了一个强类型会话对象,如下所示: class MySession { public string UsedID {get;set;} public List<int> ListOfInt {get;set;} public List<string ListOfString {get;set;} ..... } 之后在代码中,我可以使用session.XYZ语法访问每个属性 这真的很酷,但我认为最好将会话存储在数据库中 我正在考虑将MySession对象序

我构建了一个强类型会话对象,如下所示:

class MySession
{
  public string UsedID {get;set;}
  public List<int> ListOfInt {get;set;}
  public List<string ListOfString {get;set;}
  .....
}
之后在代码中,我可以使用session.XYZ语法访问每个属性

这真的很酷,但我认为最好将会话存储在数据库中

我正在考虑将MySession对象序列化为json字符串,并将该字符串存储在数据库中,以便在加载页面时检索和反序列化

这是一个好方法吗

感谢您的建议。

介绍了使用状态服务器或进程内会话存储的优缺点

至于使用JSON,它肯定比XML更轻量级,也同样灵活——至少对于您的目的来说是如此。我认为没有理由不使用它。

介绍了使用状态服务器或进程内会话存储的优缺点


至于使用JSON,它肯定比XML更轻量级,也同样灵活——至少对于您的目的来说是如此。我认为没有理由不使用它。

首先确保您需要会话中的所有数据。我觉得您更需要创建数据库表并在表中存储数据

如果您确定需要会话,那么使用标准的
是有意义的。你可以阅读更多关于


如果您确定需要自定义序列化,那么使用二进制序列化而不是JSON是有意义的。它将需要更少的内存来存储,更少的资源来序列化/反序列化。

首先确保会话中需要所有数据。我觉得您更需要创建数据库表并在表中存储数据

如果您确定需要会话,那么使用标准的
是有意义的。你可以阅读更多关于


如果您确定需要自定义序列化,那么使用二进制序列化而不是JSON是有意义的。它将需要更少的内存来存储,更少的资源来序列化/反序列化。

我认为,这就是你应该做的。在表中存储int列表或字符串列表的最佳方法是什么?@frenchie-要正确回答这个问题,知道int列表存储的是什么会有所帮助。在不知道这一点的情况下,答案是:在int type上有一列的表中。?整数列表存储整数。在您看来,a)将列表序列化为字符串并存储1个字符串还是b)存储x行整数更好?@frenchie-我知道列表存储整数:)。问题是这些INT是什么,以及如何使用它们。换言之,你是否需要在每节课中都用到它们,你是否需要在每节课中都用到它们。列表最初是如何生成的,列表的来源是什么?我想,这就是你应该做的。在表中存储int列表或字符串列表的最佳方法是什么?@frenchie-要正确回答这个问题,知道int列表存储的是什么会有所帮助。在不知道这一点的情况下,答案是:在int type上有一列的表中。?整数列表存储整数。在您看来,a)将列表序列化为字符串并存储1个字符串还是b)存储x行整数更好?@frenchie-我知道列表存储整数:)。问题是这些INT是什么,以及如何使用它们。换言之,你是否需要在每节课中都用到它们,你是否需要在每节课中都用到它们。列表最初是如何生成的,列表的来源是什么?
MySession TheSession = Session["UserSession"] as MySession;