- PR -

WebClient.DownloadFileでファイルが正常にダウンロードされない

1
投稿者投稿内容
やんたん
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 63
投稿日時: 2003-12-31 16:10
現在、C#でC/Sのシステムを作成しております。
.NETで開発したアプリケーションの起動前に、サーバにファイルチェックに行き
新しいDLLがあればダウンロードしてアプリケーションに反映するという処理を
WebClient.DownloadFileを用いて実装しています。
クライアント側がWinServer2003であれば正常に動作するのですが
その他のOSの場合、おかしな現象が発生します。

クライアントにA.dllがあり、サーバに新しいA.dllが存在します。
サーバのA.dllをダウンロードして新しいDLLへと反映されるはずなんですが
前のモジュールのままダウンロードされないといった現象が発生しています。
そこで、クライアントにあるA.dllを削除してからサーバのA.dllをダウンロードしてみてもなんとクライアントで削除したはずのA.dllが再びクライアントに配置されてしまいます。
(この現象も100%発生するというわけでなく、まれに正常に更新できることもあります)

そこで、WebClientクラスの内部でなんらかの処理を行っているのかなと思い、HTTPWebRequest
などを用いてダウンロードする仕組みを作ってみたのですが、同様の問題が発生します。
クライアント側の何かのキャッシュかなと思っておりますが、原因がわかっておりません。

同様の問題でお困りの方、もしくは解決方法をご存知の方はご教授いただけませんでしょうか。
よろしくお願いします。
やんたん
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 63
投稿日時: 2003-12-31 17:18
原因が判明しましたので自己レスです。

原因はプロキシキャッシュでした。
プロキシを経由せずにアクセスすることにより、正常にモジュールの更新ができました。
OSによって現象が起きているわけでなく、キャッシュの設定が問題だったんですね。

標記の件は解決しましたが、これによりまた新たに問題が発生してしまいましたので
それに関してはまた別スレッドで投稿させていただきます。
1

スキルアップ/キャリアアップ(JOB@IT)