スキップしてメイン コンテンツに移動

投稿

7月, 2015の投稿を表示しています

ファイルパスがおかしくてもうまくいく時といかない時がある?

十分に検証していないので、自分の中ではオカルトな感じではありますが・・。 FTPサーバからファイルをダウンロードする機能を実装し、動作確認をしていた時のことです。 Visual StudioのReleaseモードでビルドし、問題なく動作していることを確認してデプロイ。 んで、デプロイした先で実行しようとした所。 WebClient要求で例外が発生しました。 という例外が。 あれー? と思い、Visual Studioでトレースしようとしたのですが、こちらでは問題ない様子。 デプロイ先も、開発機と同じPC。 FTPサーバもログインアカウントも同じ。 よくわからないけど、これじゃダメなのかーと思ってSystem.Net.WebClientを使っている部分をコメントアウトしてFtpWebRequest + FtpWebResponseを使う方法に切り替えてみました。 結果は、エラーメッセージこそ違うものの、 Visual Studioから実行した場合は正常終了 Visual StudioのReleaseフォルダから実行した場合も正常終了 それ以外の場所(デスクトップでも フォルダ内でも)NG でした。 こうなったら全部調べるかーと思い、あちこちにトレースするメソッドを入れた(といってもMessageBox.Showしただけ)結果、単にダウンロード先のローカルパスが不正だったという粗末なオチでした。 OK→C: \ work\test.dat NG→C:work\test.dat ※ドライブレター直後のパス区切り文字がない どうやらこれ、System.Net.WebClientとかFtpWebResponse周辺のメソッドではエラーになるんですね。 というか、逆にSystem.IoとかMy.Computer.FileSystemあたりではエラーにならないんですね。 いずれにせよ今後似たような例外が出たらパスまわりを注意せよ、ということですね。 余談ですが、なんでReleaseフォルダ上で動作させても正常終了したのか、ちょっと謎です。 デプロイ先との違いはvshost.exeとか.pdbファイルとかの有無ですが、それが何か補正かけてるんでしょうか・・・。

Vodafone IE 6ヶ月放置してもうた

前回の旅行の際、使用していた Vodafone IE(アイルランド)のSIMですが、うっかり6ヶ月放置してしまいました。 確か何もせずに6ヶ月経過すると送受信できなくなるけど、またチャージすれば使えるよなー・・・とうろ覚えでいたのですが。 アカウントもロックされるんですね・・・。