2013-05-07 1 views
0

У меня есть следующий в моем web.config:Как заставить MySqlSessionStateProvider использовать файлы cookie в моем приложении .NET MVC?

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

У меня есть строка соединения MySqlSession, определенная в разделе ConnectionStrings в web.config.

Когда я запустил сайт, таблица сеансов в базе данных не заполняется. Однако, если я добавлю cookieless=true к customProvider, таблица сеансов будет заполнена, но тогда строка сеанса будет указана в URL-адресе. Я не хочу показывать строку сеанса в URL-адресе, так как это мешает моей балансировке нагрузки. Как я могу заставить MySqlSessionStateStore работать с файлами cookie?

ответ

0

Я неправильно определил проблему. Мне нужна проверка подлинности только в моем балансировщике нагрузки. Я решил это, убедившись, что машинный ключ на каждом экземпляре IIS был таким же.

Вышеупомянутое SessionState было полностью удалено, так как я не сохраняю ничего в сеансе.