ASP.NET

Windows Webアプリ:リモートサーバのディレクトリに対してc# の file.existsが使えない時の解決方法

Pocket

asp.net

めずらしくWindows系の投稿をします。

<やりたいこと>
ASP.net(c#)でWebsiteを構築していて、リモートサーバに配置した画像を参照したい

<環境>
お互いのサーバは別ネットワークに存在し、共有設定された特定のフォルダのみアクセス可能な状態。IISで仮想ディレクトリをきり、http://Domain/<リモートサーバ上の対象のフォルダ> のようにローカルフォルダとして扱う

<問題>
HTMLのimgタグで画像パスを指定すると画像を参照することはできる。<img src="https://Domain/る。<リモートサーバ上の対象のフォルダ>"

しかし、ファイルの存在確認をするメソッド file.exists(c#) が使えない。挙動的にはリモートサーバの当該ディレクトリが見えていない様子。

<解決>
websiteの実行ユーザーがリモートサーバでアクセス許可されたユーザーではなかったことが原因。
ドキュメントルート以下にあるweb.configで下記の一文が必要。これを書かないとデフォルトユーザーになるので当然リモートサーバではじかれるため、参照不可となる。

すごく基本的なことなのでしょうが、Windows系の開発に疎く、知りませんでした。。。以上、備忘録的な感じでメモっておきます。

Ads by Google

Ads by Google

-ASP.NET

© 2023 みる米技術部 Powered by AFFINGER5