Вопрос

Terrasoft.Web.Http.Abstractions.HttpContext.Current == null

Добрый день, коллеги!

В бизнес-процессе, который является подпроцессом другого процесса, пытаюсь получить базовый адрес приложения: 

string baseUrl = Terrasoft.Web.Common.WebUtilities.GetBaseApplicationUrl(Terrasoft.Web.Http.Abstractions.HttpContext.Current.Request)

, но по непонятным мне причинам

Terrasoft.Web.Http.Abstractions.HttpContext.Current == null

Имеется одно наблюдение, если процесс вызвать из другого родительского процесса, то контекст имеется. Складывается впечатление что по каким то причинам контекст пропадает.

Подскажите, пожалуйста, кто сталкивался с такой проблемой и в чем может быть дело. 

Спасибо!

Нравится

3 комментария

Руслан, добрый день!

Не совсем понятно как именно вы вызываете процесс, в котором возникает ошибка? Судя по вашим словам, если вызвать его в рамках родительского процесса, то ошибка не возникает.

Дима Вовченко,

БП в котором возникает ошибка вызывается в виде подпроцесса другого процесса. Замечено что если подпроцесс поменять, то контекст имеется, если поменять родительский, а подпроцесс оставить исходный, то контекст так же имеется. Но когда вызываются два исходных процесса, то контекс пропадает, к тому же до вызова подпроцесса в скрипт таске он все еще доступен, а в подпроцессе уже нет.

Руслан, скорее всего процесс фоновый из-за чего выполняется не в том контексте из которого был запущен и, как следствие, у него нет текущего HttpContext. Если так, то необходимо сделать его не фоновым. 

Показать все комментарии