ASP.NET(へたれな)コネタ セッション・シングルトンから機能グループ毎のシングルトンへ
先日のセッションオブジェクトの利用方法失敗に対する対策案メモです。基本的に、セッション・シングルトンから機能グループ毎のシングルトンへ対応が必要です。そこで下記の対策案を検討中
- 同一オブジェクトを利用する必要のある画面グループを洗い出す。
- それらのグループにIDを定義
- セッションオブジェクトの基底クラスへオブジェクト生成契機で上記グループID毎にインスタンスを生成するように変更
- セッションオブジェクトの基底クラスへセッションオブジェクトのセッションへの保存時にグループID考慮するように変更
現状セッションからのロードメソッドで、該当オブジェクトがセッションに無ければ生成し、あればセッションから読み出す仕組みですが、そのときに、オブジェクトIDだけでなく機能グループIDも判断するようにする。
つまり、各セッションオブジェクトが干渉しないように、セッション内に必要な数だけオブジェクトを追加してゆくことになるでしょう。この場合、同一機能グループの画面を複数開かれたらその問題はまだ解決しないけどね。また、いまでも十分富豪プログラミングだけどさらにリソースを要求されそうです。