У меня проблема с получением HttpHandler в моем приложении-службе WCF для распознавания того же сеанса, который имеет клиент Silverlight для служб WCF ... то есть:
- Пользователь входит через приложение SL в службу WCF - HTTPContext.Current.Session ["user"] создается как IPrincipal
- Пользователь успешно использует несколько других служб WCF в том же приложении, Безопасность работает
- Пользователь переходит к методу, который вызывает один из моих HttpHanders - например, upload.ashx, и неожиданно появился новый sessionID
Теперь все службы WCF имеют:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
и HttpHandlers все наследуются от BaseHandler, который реализует IHttpHandler и
IRequiresSessionState: BaseHandler : IHttpHandler, IRequiresSessionState
и в файле web.config для приложения у меня настроен раздел httpHandlers (правильно?):
<httpHandlers>
<add verb="*" path="Upload.ashx" type="THR.STAISys.WCF.Upload" />
</httpHandlers>
Так что я понятия не имею, почему они не поддерживают один и тот же сеанс ... при переходе с тестовой страницы aspx я могу войти и правильно нажать обработчик, но когда я вошел в систему через приложение SL, получить один идентификатор сеанса и, ударив обработчик, я получил другой идентификатор сеанса ... с чего бы это?
спасибо!