Ваша команда CREATE EVENT
и DELETE
используют ;
в качестве разделителя. Таким образом, ваша команда CREATE EVENT
заканчивается после команды DELETE
(до END
). Вам нужно установить DELIMITER
в начале, чтобы использовать другой по команде CREATE EVENT
.
-- set the DELIMITER to "|"
DELIMITER |
CREATE EVENT delete_session
ON schedule AT current_timestamp + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO BEGIN
DELETE FROM session WHERE `date` < DATE_SUB(NOW(), INTERVAL 7 DAY);
END |
-- set the DELIMITER back to the default.
DELIMITER ;
... и вам нужно изменить еще одну вещь:
S
на DAYS
. WCF действительно поддерживает сессии да; но они не похожи на сессии ASP.NET. Сессии там для передачи сообщений в порядке (и другие биты, и качается), они не должны там добавлять совместно используемую память между вызовами.
Для аутентифицируемых служебных вызовов необходимо отправить деталям аутентификации каждый раз; безопасность применяется на на основание сообщения.
Как blowdart упомянутый, Сессии WCF не являются тем же как Сессиями ASP.NET. Можно читать на них здесь: http://msdn.microsoft.com/en-us/library/ms733040.aspx. Перед Вами безопасность самокрутки Вы захотите познакомиться с тем, какой WCF дает Вам out-of-the-box: http://msdn.microsoft.com/en-us/library/ms734736.aspx. Они могут получить Вас близко к Вашей цели, не пишущий много кода. А именно, проверьте Как к: Создайте Безопасную Сессию. С безопасными сессиями, учетные данные кэша Клиента и сервера, таким образом, Вы не должны полностью проходить проверку подлинности с каждым запросом. По умолчанию Вы проиграете безопасную сессию, если веб-сервер переработает. Если Вы захотите безопасную сессию, которая длится посредством перерабатывания, то Вы захотите посмотреть на Как к: Создайте Маркер Контекста защиты С сохранением информации для Безопасной Сессии.
При хостинге сервиса в IIS можно все еще использовать сессию, которая является из ASP.NET путем включения aspnetcompatibility для сервисного поведения.