私は自己ホスト型のASP.NETWebAPIアプリケーションに取り組んでいます。すべて正常に動作しますが、今はHttpContext
で苦労しています:
クライアントからのセッション情報を保存する必要があります。ただし、_HttpContext.Current
_は常にnullです。したがって、私のHttpSelfHostServer
が静的なHttpContext-Classで機能しないことは明らかです。
私が理解していないのは、なぜ..?そして、HtttpSelfHostServer
もHttpSelfHostConfiguration
もHttpContext
で動作するように指示する方法がわかりません。
これが私がしていることです:
HttpSelfHostConfiguration
の作成
Service-Resolvers
_&Routes
の追加UserNamePassword-Validator
_設定を使用してHttpSelfHostServerの新しいインスタンスを作成します
server.OpenAsync().Wait()
サーバーに_HttpContext.Current
_を使用するように指示する方法についてのヘルプは大歓迎です!乾杯!
セルフホスト環境ではHttpContextを使用できません。 HttpContextは、ASP.Netパイプラインによって設定されます。これは、IIS /ASP.Netで実行しない場合はありません。
HttpContextは、HttpControllerHandlerがリクエストを作成するWebホスティングモードでのみ使用できます。
参考までに-さまざまなホスティングモデルをよりよく理解するために、PedroFelixからの次のすばらしい記事を読むことをお勧めします。
この問題を回避するために(最近、Web APIとMVCで同等に機能する必要のある多くのコンポーネントを使用していることがわかりました)、私が書いたこの古いシムを試して、で機能するHttpContextのようなインターフェイスを返すことができます。両方のフレーバー。 NuGetにもあります。ソースは次のとおりです。 githubのリンク (または Nugetのリンク )