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

原文地址:https://www.cnblogs.com/miaosha5s/p/5800538.html