[CONTAINERNET-155] DxoInterceptorをスレッドセーフにする Created: 2013-03-20  Updated: 2013-03-30  Due: 2013-03-20  Resolved: 2013-03-24

Status: Resolved
Project: S2Container.NET
Component/s: S2Container.NET
Affects Version/s: 1.3.18, 1.4.0-RC3
Fix Version/s: 1.3.19, 1.4.0

Type: Bug Priority: Minor
Reporter: koyak Assignee: koyak
Resolution: Fixed Votes: 0
Labels: None


 Description   

[seasar-dotnet:2242]より
DxoInterceptor内で保持しているプロパティのマッピング情報が毎回初期化されている。

singletonで使用する場合、複数スレッドから同時にアクセスすると
正常に動作しなくなる。
(パフォーマンス上も影響あり?)



 Comments   
Comment by koyak [ 2013-03-24 ]

スレッドセーフにするため、インスタンス変数(_dxoMapping, _dateFormat)を
ローカル変数+メソッド引数渡しに修正している。

それに伴って下記メソッドを変更しているため、リリース時にMLで周知する。
・CreateDxoMapping(protected virtual) ⇒新規追加。Dxo変換ルールを格納するMapのインスタンスを生成。
・DxoMapping(publicプロパティ)⇒廃止
・_CollectDatePatternMapping
  ⇒メソッド名を「GetDatePatternFormat」に変更
  ⇒戻り値をvoidからstringに変更
  ⇒privateからprotected virtualに変更
・AssignToXXX ⇒メソッド引数に「dxoMapping」「dateFormat」追加

Generated at Wed Apr 09 19:28:55 JST 2025 using Jira 10.5.0#10050000-sha1:9d9d098bb7b67e8dba8da380ba9c3900d82ac3cf.