Web サービスに大きく依存する Web アプリケーションがあります。サービスに関するすべての処理は、AddOnPreRequestHandlerExecuteAsync を使用して非同期で行われます。とにかく、ほとんどの呼び出しは問題なく動作しますが、非同期サービス呼び出しから戻って endprerequest で null の HttpContext.Current.Response/Request オブジェクトを見つけるものもあります。両方のオブジェクト (Response と Request は、失敗した呼び出しの beginprerequest で利用可能/null ではなく、他の呼び出しの endprerequest で機能します)。
誰かが同様に遭遇したり、問題が何であるかについて推測したりしますか?
更新:解決策を見つけたようです.Init(これがすべて発生するHttpModuleの)でHttpApplicationの変数を作成すると、その変数からHttpContextにアクセスできます。
更新: begin 関数で HttpApplication または HttpContext.Current を渡すと、同じ問題が発生します。非同期呼び出しの「状態」の一部として渡されると、begin 関数では有効であっても、end 関数では null になります。
更新: ログを追加したところ、作成している非同期呼び出しが正しく返され、結果が存在し、コールバック関数が適切に呼び出されていることがわかりました。