私は簡単に、我々はMVCプロジェクト外のアセンブリで実行しているクエリの多くのユーザ名をつかむことができるようにする必要があります。私はすべての呼び出しにパラメータを追加するだけですが、文字通り数百もあります。同時アクセス
私の同僚は、(おそらくOnApplicationStartedまたはそのような何かで)のHttpContextへの静的参照を渡し、そこからユーザ名を取得するために私に助言しています。
のHttpContext常に現在のユーザーのセッションに関する情報を持っています。私の懸念事項は、(別のアセンブリに存在する)オブジェクトが、どのユーザーから情報を取得するのかを正確に知ることができず、単一のユーザーにはうまくいくかもしれないが、間違ったユーザー名をユーザーはシステムへのアクセスを開始します。
これは、ユーザ名を特定する実行可能な方法ですか?
はどのようにのHttpContextは、現在のユーザーであるユーザーを知っていますか?そのメカニズムはプロジェクト外で切断されていますか?
あなたが外でライブラリ内のセッションを使用することができるならば、あなたはセッション中にユーザー名を入れて、そこからアクセスする必要があります。すべては、セッションからユーザー名情報を取得することを意味します。 –
@AnkushJain:あなたがそれがうまくいくと思います。私が恐れているのは、静的なオブジェクト(つまり、すべてのユーザーに対して1つだけ)であるためです。ユーザー名をプルすると、それは他のユーザーになる可能性があります。 – micahhoover
私は静的変数を作成するつもりはありません。私はセッション変数を使用するように求めています。セッションは常にユーザー固有のものです。 –