- PR -

別コンピュータのINIファイルから情報を読み込みたい

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-06-23 22:02
引用:

ASP.NET(VB.NET)にて、
INIファイルより情報を取得するプログラムを作成しています。
自マシンの情報C:やD:は情報を取得できたのですが、
ネットワークドライブ割り当てしたドライブにあるINIファイルの情報を
取得することができません。



既に指摘されているように、ネットワークドライブはログオンユーザ毎の設定です。

あなたのアカウントで共有フォルダを H: ドライブに割り当てていたとしても、それは ASP.NET には見えません。

ASP.NET から共有フォルダにアクセスする場合は UNC 表記を使うべきです。

また、標準構成では、ASP.NET はネットワーク資源に手出しできないアカウント権限で実行されているので、適切なアカウントに Web アプリケーションを偽装する必要があります。
じゅん
会議室デビュー日: 2005/07/15
投稿数: 8
投稿日時: 2006-06-24 22:42
返答ありがとうございます。


System.IO.File.Exists(path)で、ファイルが存在するかの確認を行いましたところ、
Falseで戻ってきました。

ひどりさんのご指摘どおり、UNC表記にすれば、
GetPrivateProfileString関数よりINIファイル情報を取得することができました。

ありがとうございます。
(接続先マシンは同じドメイン、同じユーザでログインしているので
うまくいくのかな・・う〜ん、関係ないような・・?)

ただ、もうひとつ、
ファイルの存在チェックも行っています。
System.IO.File.Exists(path)では、UNC表記にしても
Falseで戻ってきてしまいます。


じゅん
会議室デビュー日: 2005/07/15
投稿数: 8
投稿日時: 2006-06-24 22:57
System.IO.File.Exists(path)では、

path = \\(IPアドレス)\(共有フォルダ名)\test.ini

で、ファイルの存在チェックが確認できました。


早々の返答、たくさんのご教授ありがとうございました。

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