めずらしくWindows系の投稿をします。
<やりたいこと>
ASP.net(c#)でWebsiteを構築していて、リモートサーバに配置した画像を参照したい
<環境>
お互いのサーバは別ネットワークに存在し、共有設定された特定のフォルダのみアクセス可能な状態。IISで仮想ディレクトリをきり、http://Domain/<リモートサーバ上の対象のフォルダ> のようにローカルフォルダとして扱う
<問題>
HTMLのimgタグで画像パスを指定すると画像を参照することはできる。<img src="http://Domain/る。<リモートサーバ上の対象のフォルダ>"
しかし、ファイルの存在確認をするメソッド file.exists(c#) が使えない。挙動的にはリモートサーバの当該ディレクトリが見えていない様子。
<解決>
websiteの実行ユーザーがリモートサーバでアクセス許可されたユーザーではなかったことが原因。
ドキュメントルート以下にあるweb.configで下記の一文が必要。これを書かないとデフォルトユーザーになるので当然リモートサーバではじかれるため、参照不可となる。
[crayon]
[/crayon]
すごく基本的なことなのでしょうが、Windows系の開発に疎く、知りませんでした。。。以上、備忘録的な感じでメモっておきます。