У меня есть веб-приложение, которое в значительной степени зависит от веб-служб. Все с сервисами выполняется асинхронно и с AddOnPreRequestHandlerExecuteAsync. Во всяком случае, большинство моих звонков работают нормально, но некоторые из них возвращаются из своих асинхронных вызовов службы, чтобы найти нулевой объект HttpContext.Current.Response/Request в концеprerequest, который, конечно, ошибки в тот момент, когда я пытаюсь использовать. Оба объекта (Response and Request) доступны/не являются нулевыми для beginprerequest неудачных вызовов и работают в концепроцесса других вызовов).Асинхронные HttpWebRequests и нулевой объект HttpContext.Current.Response/Request
Кто-нибудь сталкивается с подобным или может предположить, что может быть проблемой?
Обновление: Кажется, вы нашли решение, если я создаю переменную для HttpApplication on Init (из HttpModule, все это происходит), из HttpContext можно получить доступ к этой переменной.
Обновление: передача HttpApplication или HttpContext.Current в функции begin имеет ту же проблему. Когда они передаются как часть «состояния» асинхронного вызова, они заканчивают нулевым значением в конце функции, даже если они действительны в функции begin.
Обновление: я добавил несколько протоколов и обнаружил, что Асинхронный вызов, который я делаю, возвращает правильно, результаты там, функция обратного вызова вызывается правильно.
Можете ли вы описать с подробностями, как вы решили проблему – omoto
В моем HttpModule у меня есть переменная типа HttpApplication. В вызове функции init() я устанавливаю эту переменную в HttpApplication, которая передается init. В BeginPreRequestHandlerExecute и EndPreRequestHandlerExecute я ссылаюсь на текущий HttpContext, используя oApplication.Context, oApplication - это имя переменной HttpApplication в моем HttpModule. – aepheus