まだまだ修正中
2004年9月19日(日曜日)
まだまだ修正中
デッドロックの件ですが、lock をやめたら泥沼化した原因が発覚しました。単純に Moniter.TryEnter した後で Monitor.Exit するオブジェクトを間違えていたようです。
というわけでこれで直ったはずなのですが、本来ならそういう間違いをしていれば SynchronizationLockException という例外が throw されるはずなので、なにかもっと別の原因があるのかもしれません。あるいは System.Threading.Monitor じゃなくて System.Threading.ReaderWriterLock を使った方が良いのかもとかいろいろありますが、まあとりあえずこれで様子見ということで。
ついでに IT Media にリンクしない機能の実装を見直し。ついでに、他サイトへのリンクの後ろにはドメインを表示するようにしてみました。
あと hatomaru.dll のバグとしてはキャッシュ関係がおかしいことが判明していて、If-Modified-Since つきのリクエストに対して
- 304 で応答しなければならないはずなのに 200 応答する
- 200 で応答しなければならないはずなのに 304 応答する
という現象が発生することがあります。単純にステータスコードが逆になっているわけではなくて、正しく応答できる場合もあったりするので微妙です。この辺をちょっと見直そうかなと。
- 「まだまだ修正中」へのコメント (2件)
関連する話題: プログラミング / C# / えび日記 / hatomaru.dll