セッション状態を多用して、現在のユーザーに関する情報、個人設定、セッション履歴の記録などを保存する Web アプリケーションがあります。
次のように、ビジネス層でこのセッション情報を取得していることに気付きました。
((UserSession)HttpContext.Current.Session["UserSession"]).User.Info
これは問題を引き起こします。将来のある時点で、私のアプリケーションには、明らかに Web セッション状態を参照できない Windows クライアントが含まれます。そのため、アプリケーションが Web で実行されているかデスクトップで実行されているかに依存しない、ビジネス レイヤーで参照できるホストまたはカスタマイズされたセッション クラスが必要です。何かのようなもの:
IHost.User.Info
舞台裏では、Web 実装は明らかにセッション状態を利用して情報を保存しますが、これをビジネス層から隠す必要があります。誰かがこの問題を解決したり、これにアプローチする最善の方法について実用的なアドバイスを得たりしましたか?
助けていただければ幸いです。