Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

ASP.NET session state store provider for MySQL

2.33/5 (3 votes)
18 Oct 2007CPOL1 min read 1   752  
A brief description on how to set-up MySQL as session state store for ASP.NET.

Introduction

This article describes how to set-up an ASP.NET project in order to use MySQL as its session state store provider.

Using the code

Looking on the web, I was not able to find a suitable solution that uses MySQL as its session state store. It may certainly be possible that there is already a better solution available (if so, please do not hesitate to contact me). However, I was able to find a sample session state store provider using MS Access. That's it! Port it to MySQL... and that's what I did.

But, let's do it step by step. The list below gives you an idea of what I did in order to get it to work:

  1. Downloaded the sample session state store provider for MS Access from MSDN.
  2. Downloaded the .NET Connector (using version 5.0.7) from MySQL.
  3. Ported the sample code provided by Microsoft for use with MySQL (the zipped source code can be found here).
  4. Adjusted the Web.config accordingly:
  5. XML
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
      <connectionStrings> 
        <add name="MySqlSessionServices" 
          connectionString="Database=<name of database>; 
                Data Source=<host>; User Id=<login>; Password=<password>"/> 
      </connectionStrings> 
      <system.web> 
        <sessionState cookieless="false" regenerateExpiredSessionId="true" 
                   mode="Custom" customProvider="MySqlSessionProvider"> 
          <providers> 
            <add name="MySqlSessionProvider" 
               type="Samples.AspNet.Session.MySqlSessionStateStore" 
               connectionStringName="MySqlSessionServices" 
               writeExceptionsToEventLog="false"/> 
          </providers> 
        </sessionState>
      </system.web>
    </configuration>

You can check it out at www.kimpel.com ... it works like a charm.

Please do not hesitate to contact me if you have any questions and/or comments.

History

  • 2007-09-20: Initial version.
  • 2007-10-17: Updated link to sources.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)