2006年11月29日

XmlSerializer.Deserialize()での"タイムアウト"エラー、意外な解決法?

.Net、Windowsアプリにて、アプリケーションの設定をXmlSerializerを使ってXMLファイルに持っている。
起動一発目に、XmlSerializer.Deserialize()で設定を読み込むのだが、ある時から、なかなか設定読み込みが終わらず、あげくの果てに「タイムアウト」エラーが出る、というよくわからない現象が発生するようになった。

Microsoftのサポート情報には、比較的簡単にたどり着けたが、ここからが問題。

Microsoftさんが上記で示している回避策の1、2は、両方とも、普通ならイヤだと思う。
.Netでプリコンパイルなんてやったことがないから、どんなリスクがあるのかよくわからんし、コンソールでの日本語入力を禁止するなんて、他に迷惑をかけるようなことはでけん。

ということで、ほかの策を練る。
アプリケーションがXmlSerializerを使う前に、"conime.exe"とやらが起動してりゃいいんだろ!と、以下の方法で対処した。

アプリケーション実行ファイルをバッチファイルから呼び出させる。だけ。

タスクマネージャで見てると、バッチファイルが実行されると、"conime.exe"君が起動する模様。
なので、必ずバッチファイルからアプリを起動すれば、m"conime.exe"が起動している状態で、XmlSerializer.Deserialize()が呼ばれるので、デッドロックは起こらないはずはず!

とりあえず、こうしてから再現はしてないが、様子見。

Read More...

eTrust AntivirusでSignatureをダウンロードできない

数日前から、WindowsXP SP2のセキュリティセンターが、「アンチウイルスが最新じゃない」って警告を出すように。

eTrust Antivirus7.0 を使っているのだが、タスクトレイから「Download Signature Now」をやってやると、以下のエラー。

Initializing Download
Downloading from FTP site ftpav2003.ca.com
Error downloading file /pub/inosculan/ftpav2003/Siglist.txt
An extented error waz returned from the server.
Errors were encountered during update, please see log.

ログがどこにあるのかわからんくて(今見たら、ログビューアってのがついてるんやね)、"ftpav2003.ca.com"でググって見たところ、ダウンロード先を
"ftp://ftp.ca.com/pub/inoculan/scaneng/"にすれば治るよ、っていう情報が。

eTrust Antivirus part5

eTrust Antivirusを起動し、Scanner → Signature Update Options → Incomingで、上記設定を追加したら治った。

Read More...