Я использую WorkFlowServiceHost (в .net 3.5) для размещения рабочего процесса конечного автомата. Я использую действия получения WCF для обработки вызовов в рабочем процессе. Я использую политику авторизации WCF для добавления претензий к входящим запросам на основе информации в заголовках сообщений. Итак, далее по цепочке я могу использовать ServiceSecurityContext или просто Thread.CurrentPrincipal для получения информации об авторизации запроса (роли, пользователь и т. Д.).
Я знаю, что это не сработает для нас, потому что рабочий процесс отправляет различные потоки для обработки событий, которые вызывает механизм времени выполнения, когда есть работа, которую нужно выполнить (т. Е. Получение активности). Контекстная информация о запросе (OperationContext) больше не доступна в рабочем процессе (кроме случайного, когда работа выполняется в потоке времени выполнения).
Я хотел бы получить информацию о запросе (OperationContext) до создания рабочего потока, получить рабочий поток и прикрепить к нему контекстную информацию, чтобы она была доступна в экземпляре рабочего процесса.
Я думаю, что во время выполнения должно быть какое-то событие, с которым я могу справиться, но я ничего не придумаю. И я действительно не хочу использовать ручной планировщик рабочего процесса. Любая помощь приветствуется.
Спасибо!