ユーザーが作業を追加できるワーカー キューがあります。ワーカー アイテムが追加されると、コンテキストはユーザー ( HttpContext) になります。ただし、キューをポーリングし、アイテムを 1 つずつ順番に実行するバックグラウンド スレッドです。
HttpContextユーザーが破棄されるとプリンシパルオブジェクトが破棄されるため、ユーザーを格納することはできません
ワーカーで実行できるコードには、プリンシパルが正しいものである必要がありますPrincipalPermissions。
また、ライフタイム管理 (IoC) はHttpContextforInRequestスコープを使用しHttpContextますが、正しいプリンシパルなどでを再作成することは可能ですか?
編集: 偽の HttpContext は、ライフ タイム管理の機能があると便利です。これは回避できます。しかし、私たちのバックエンド コードは、ユーザーがシステムのその部分にアクセスできるかどうかを検証するためにこれを使用するため、スレッドの正しいユーザー プリンシパルを持つことに大きく依存しています。ユーザープリンシパルをID、ロール、IsAuthenticated状態で保存し、後で別のスレッドで使用する方法に誰かが答えることができれば、回答としてマークします