DOBON.NET DOBON.NETプログラミング掲示板過去ログ

仮想ディレクトリへのアクセス方法

環境/言語:[OSWindows XP、VS Version:2005、言語:VB、.NET Framework2.0]
分類:[ASP.NET]

はじめまして。
富田と申します。

プログラムファイルとは異なるドライブにある仮想ディレクトリへのアクセス方法をご存知の方がいましたら、教えて頂けないでしょうか。

環境は以下になります。

仮想ディレクトリA:C:\TEST\test.aspx
仮想ディレクトリB:D:\TEST_DATA\test.jpg

仮想ディレクトリAのtest.aspxにイメージファイルを設定し、イメージファイルの参照先が仮想ディレクトリBのtest.jpgになります。

以下のようにプログラム(test.aspx.vb)を書いたのですが、上手く表示されません。

Dim FilePath As String = "\\\\サーバ名\仮想ディレクトリB\test.jpg"

If File.Exists(FilePath) = True Then → Elseが実行される
Image1.ImageUrl = FilePath
Else
End If
■No18306に返信(富田さんの記事)

こんにちは。

“\\\\サーバ名\仮想ディレクトリB”に、ASP.NETが動作しているユーザ
(IUSR_hogehoge で良かったんでしたっけ?)に対するアクセス権限は
付加されていますか?
ぽぴ王子さん

返信ありがとう御座います。

>\\\\サーバ名\仮想ディレクトリB”に、ASP.NETが動作しているユーザ
>(IUSR_hogehoge で良かったんでしたっけ?)に対するアクセス権限は
>付加されていますか?

はい。権限は付与しています。

何故か今プログラムを実行すると正常に画像が表示されました。(?_?)
理由がわからないのですが...。
仮想ディレクトリを作って直ぐにプログラムを実行した事が原因でしょうか。

解決致しましたので、このトピはCloseさせて頂きます。

ぽぴ王子さん、コメントありがとう御座いました。
解決済み!
> 解決致しましたので、このトピはCloseさせて頂きます。

おそらく、ファイルサーバ or IIS 機のどちらかのマシンを再起動したら、またアクセス不通になるはずです。

そもそも、アクセス権限の設定だけでは不足です。

検索すればいくらでも事例が出てくるはずですが、IIS が動作するプロセスには、Windows ネットワークに対するアクセスが許可されていません。

通常、ファイルアクセス用のユーザアカウントを作成し、そのアカウントで Web アプリケーションを動作させることで共有フォルダへのアクセスを実現します。

DOBON.NET | プログラミング道 | プログラミング掲示板