2013-09-27 4 views
1

Я применил WebControl в приложении Windows Forms для доступа к серверной странице, доступной после входа в систему. Обычно, когда пользователь входит в систему, приложение (написанное в RoR) создает файл cookie на стороне клиента. Я использую CookieStore (хранилище сеансов Rails) для хранения данных сеанса на стороне клиента. Кроме того, я использую поставщика веб-сеанса, настроенного с определенным путем передачи данных, для хранения сеанса на диске. Чтобы добавить к проблеме, я использую этот путь данных среди нескольких поставщиков веб-сеансов.Как обновить базу данных Cookies на диске сразу?

Теперь проблема заключается в том, что если пользователь выходит из системы, нажав ссылку выхода из системы, страница обновляется в порядке. Пользователь больше не может выполнять операции, требующие проверки подлинности. Однако, поскольку я вижу, что база данных Cookies не обновляется немедленно (я вижу ее из даты изменения файла, а также из значения cookie, которое остается неизменным). Я предполагаю, что некоторое хранение в памяти сначала обновляется, а затем сбрасывается на диск. Я не могу определить, когда, но я заметил, что через некоторое время (по-видимому, случайно) база данных Cookies обновляется на диске. Однако это все еще создает проблему, потому что если пользователь закрывает приложение сразу после выхода из системы, а база данных Cookies еще не обновлена, тогда у него будет ссылка на старый файл cookie. Ожидается, что , когда пользователь снова откроет приложение, он будет отображаться как зарегистрированный в. Я знаю, что это может быть частично смягчено путем хранения сеансов на стороне сервера, но я бы предпочел сохранить все так.

Итак, мой вопрос: есть ли способ заставить автоматическое обновление базы данных «Cookies» на диске?

+0

У меня такая же проблема. Я проверил, чтобы Dispose вызывается в инструкциях Awesomium, и это http://wiki.awesomium.net/general-use/using-web-sessions.html Вы когда-нибудь находили обходное решение для этого? – GreenKiwi

ответ

1

Я считаю, что я получил его промывать значения на диск, вызвав

WebCore.Shutdown(); 

Когда мое приложение закрывается.

Я буду проводить еще несколько испытаний.

 Смежные вопросы

  • Нет связанных вопросов^_^