如何让MySqlSessionStateProvider在我的.NET MVC应用程序中使用cookie?

时间:2013-05-07 18:57:37

标签: mysql asp.net-mvc session-cookies session-state

我在web.config中有以下内容:

<system.web>
<sessionState mode="Custom" regenerateExpiredSessionId="true" customProvider="MySqlSessionStateProvider">
  <providers>
    <add name="MySqlSessionStateProvider" type="MySql.Web.SessionState.MySqlSessionStateStore, MySql.Web, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" applicationName="App_Name" description="App_Description" connectionStringName="MySqlSession" writeExceptionsToEventLog="True" autogenerateschema="True" enableExpireCallback="True" />
  </providers>
</sessionState>

我在web.config的ConnectionStrings部分中定义了MySqlSession连接字符串。

当我运行该站点时,未填充数据库中的会话表。但是,如果我将cookieless=true添加到customProvider,则会填充会话表,但会话字符串会显示在URL中。我不想在URL中显示会话字符串,因为这会干扰我的负载均衡器。如何让MySqlSessionStateStore与cookie一起使用?

1 个答案:

答案 0 :(得分:0)

我误认了这个问题。我只需要在我的负载均衡器中保留身份验证。我通过确保每个IIS实例上的机器密钥是相同的来解决这个问题。

上面列出的sessionState已被完全删除,因为我没有在会话中存储任何自定义内容。