S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

これもNetBIOSの話か?

WebClientクラスで"http://ホスト名/パス"というURLにアクセスする場合。

WindowsXPのIE6で"http://ホスト名/パス"でアクセスできるが、Firefox3.6だと404が返ってくる。
Windows7のIE8で"http://ホスト名/パス"でアクセスできるが、Firefox5だと404が返ってくる。


"http://IPアドレス/パス"であれば、どの場合もアクセスできる。
それからWindowsXPWindows7ともに、エクスプローラで"\\ホスト名"で共有リソースにはアクセスできる。
それぞれの環境で"ping ホスト名"と"nbtstat -a ホスト名"は返ってくるが、"nslookup ホスト名"は返ってこない。


このような状況で、Windows7で"http://ホスト名/パス"に対してアクセスすると、

Visual Studio 2010のデバックで実行しているときには、WebCilentクラスからアクセスできる
・サービス化した.NETのexeで実行しているときには、WebCilentクラスからアクセスすると404が返ってくる

こういうの勘弁してください(>_<)

共有名のパスも同様

Fileクラスでリモートのパスにアクセスする場合も同様の事象となった。
Windows7で"\\ホスト名\共有名"に対してアクセスすると、

Visual Studio 2010のデバックで実行しているときには、Fileクラスからアクセスできる
・サービス化した.NETのexeで実行しているときには、Fileクラスからアクセスできない

\\IPアドレス\共有名"でアクセスすると、両方アクセスできる。

Microsoft TCP/IP のホスト名解決の順序

Microsoft TCP/IP のホスト名解決の順序
Windows NT/95/98 におけるNetBIOS名前解決シーケンス
ってあるけど、情報が古いな。
OSで動作が異なるのなら、そういう話ってことでいいけど、同じOS(XPと7)それぞれで、Visual Studio上とサービス上での動作が異なるのは、どう考えても名前解決のレイヤが違うんじゃないか?とか。