Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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#.net和mysql_C#_Mysql_Database_Session - Fatal编程技术网

会话管理c#.net和mysql

会话管理c#.net和mysql,c#,mysql,database,session,C#,Mysql,Database,Session,我正在用C#net和mysql创建一个网站(购物车)。在.net和sql server中,我们可以在sql server中管理会话。使用mysql是否也可以这样做?如果可以,如何实现?另一个问题——在数据库中存储会话是购物车的正确方法,还是应该存储在内存中? 提前感谢在.NET Framework中基本上有3个“内置”功能: InProc模式,将会话状态存储在Web服务器的内存中。 这是默认设置 StateServer模式,将会话状态存储在单独的进程中 调用了ASP.NET状态服务。这将确保会

我正在用C#net和mysql创建一个网站(购物车)。在.net和sql server中,我们可以在sql server中管理会话。使用mysql是否也可以这样做?如果可以,如何实现?另一个问题——在数据库中存储会话是购物车的正确方法,还是应该存储在内存中? 提前感谢

在.NET Framework中基本上有3个“内置”功能:

  • InProc模式,将会话状态存储在Web服务器的内存中。 这是默认设置

  • StateServer模式,将会话状态存储在单独的进程中 调用了ASP.NET状态服务。这将确保会话状态是正确的 如果重新启动Web应用程序并进行会话,则会保留此选项 一个Web场中的多个Web服务器可用的状态

  • SQLServer模式将会话状态存储在SQLServer数据库中。这 确保在Web应用程序运行时保留会话状态 重新启动并使会话状态可用于多个Web站点 Web场中的服务器

如您所见,唯一支持序列化到数据库的是SQL Server。然而,还有第四种选择——创建自己的。通过创建继承
SessionStateStoreProviderBase
类的类,可以实现自定义会话状态存储提供程序。关于MSDN描述了如何

但是,您可能希望只使用StateServer模式,因为这可以降低使用InProc的许多风险(即,如果内存不足、应用程序池被回收或应用程序重新启动,会话状态很容易丢失)。记住用
[Serializable()]
标记所有类。如果您想在用户离开网站后保留购物车信息,我只会使用数据库。

在.NET Framework中基本上有3个“内置”功能:

  • InProc模式,将会话状态存储在Web服务器的内存中。 这是默认设置

  • StateServer模式,将会话状态存储在单独的进程中 调用了ASP.NET状态服务。这将确保会话状态是正确的 如果重新启动Web应用程序并进行会话,则会保留此选项 一个Web场中的多个Web服务器可用的状态

  • SQLServer模式将会话状态存储在SQLServer数据库中。这 确保在Web应用程序运行时保留会话状态 重新启动并使会话状态可用于多个Web站点 Web场中的服务器

如您所见,唯一支持序列化到数据库的是SQL Server。然而,还有第四种选择——创建自己的。通过创建继承
SessionStateStoreProviderBase
类的类,可以实现自定义会话状态存储提供程序。关于MSDN描述了如何

但是,您可能希望只使用StateServer模式,因为这可以降低使用InProc的许多风险(即,如果内存不足、应用程序池被回收或应用程序重新启动,会话状态很容易丢失)。记住用
[Serializable()]
标记所有类。我只会在用户离开网站后想保留购物车信息时使用数据库。

2个问题,真的;)-您可以将购物车存储在任何您喜欢的地方,但您必须考虑数据的瞬态性质以及您想要的持久性。内存中的Cart只能在会话期间使用,状态异常将持续到服务器重新启动,sql将持续…嗯,永远(ish)-对我来说,唯一真正的选择是同时使用内存和数据库!缓存购物车直到它发生变化,然后在发生变化时将其放入数据库。这里有两个问题;)-您可以将购物车存储在任何您喜欢的地方,但您必须考虑数据的瞬态性质以及您想要的持久性。内存中的Cart只能在会话期间使用,状态异常将持续到服务器重新启动,sql将持续…嗯,永远(ish)-对我来说,唯一真正的选择是同时使用内存和数据库!缓存购物车,直到它发生更改,然后在发生更改时将其转储到数据库中。