Asp.net Session 保存到MySql中

时间:2023-03-08 21:31:52
Asp.net Session 保存到MySql中

一 网站项目引入"mysql.web.dll"

二 web.config配置中添加mysql数据库连接字符串

<connectionStrings>
<remove name="LocalMySqlServer" />
<add name="LocalMySqlServer" connectionString="server=localhost;user=root;pwd=1234;database=mydatabase;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

三 配置sessionState节点

<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom" timeout="30" customProvider="MySqlSessionStateProvider">
<providers>
<add name="MySqlSessionStateProvider"
type="MySql.Web.SessionState.MySqlSessionStateStore, MySql.Web, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
applicationName="/mywebapp"

description="MySQL Session State"
connectionStringName="LocalMySqlServer"

writeExceptionsToEventLog="False"
autogenerateschema="True"

enableExpireCallback="False" />
</providers>
</sessionState>

配置说明:

mode:  sessionState模式,"Custom"为自定义模式;

timeout: session过期时间,默认20分钟.

customProvider: 自定义Provider,与providers节点下添加的名称对应;

applicationName: 应用名称,可自定义,用于区分不同网站应用的session数据;

connectionStringName: 数据库连接字符串名称;

autogenerateschema: 是否自动生成数据库表,网站会将session相关数据保存到mysql数据库对应的表中,

这些表可以手动创建,也可以自动创建.

参考文章:

http://www.codeproject.com/Articles/633199/Using-MySQL-Session-State-Provider-for-ASP-NET