65.9K
CodeProject is changing. Read more.
Home

ASP.NET session state store provider for MySQL

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.33/5 (3 votes)

Sep 20, 2007

CPOL

1 min read

viewsIcon

50192

downloadIcon

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. <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.