1

ASP.NET MVC 3 Web サイトで仮想ディレクトリをマップしようとしています。仮想ディレクトリにはイメージ ファイルのみが含まれ、物理ディレクトリは別のサーバー上にあります。Web ブラウザーを介してこのディレクトリから画像にアクセスしようとすると、HTTP 500 エラーが発生します。

Parser Error Message: An error occurred loading a configuration file: Failed to start monitoring changes to '<virtual directory path>' because access is denied.

[編集]: IIS を再起動した後、エラー メッセージの末尾に「アクセスが拒否されました」が追加されていることがわかります。ただし、ディレクトリには読み取りアクセス権を持つ「Everyone」権限があり、まだ機能していません。これと同じエラーを詳しく説明している投稿を見たことがありますが、権限設定の解決策がうまくいきません。

構成ファイルを探しているのはなぜですか? 問題のルートを無視するように Global.asax を更新しました。IIS 6 内から、仮想ディレクトリにあるファイルを問題なく参照できます。仮想ディレクトリがアプリケーションとして設定されていないことを確認しました。また、ディレクトリのアクセス許可には、Everyone に対する読み取りアクセスが設定されています。私は何を間違っていますか?

[編集 #2]: 指している仮想ディレクトリは、ネットワーク共有フォルダーです...違いはありますか?

[編集 #3]: 私がやろうとしていることの IIS 6 階層は次のとおりです: デフォルトの Web サイト -> OurSite (ITSELF 仮想ディレクトリである MVC Web サイト) -> Images (私が苦労している仮想ディレクトリ)。これがネストされた仮想ディレクトリであるという事実には、間違いなく問題があります。Default Website -> OurSite の代わりに Default Website の直接の子としてディレクトリを作成すると、正常に動作します。

ありがとう、

アンディ

4

2 に答える 2

0

Turnkey の回答とコメントを読んで、AppPool が ID を使用している場合、リモート サーバーは Web サーバーのマシン/コンピューター アカウントを共有フォルダーに追加し、アカウントではなく NTFS アクセス許可を追加する必要があることを指摘しNETWORK SERVICEたかっだけですNETWORK SERVICE。共有フォルダと NTFS アクセス許可に
追加する場合、 Web サーバーのアカウントではなく、ローカル マシンのアカウントを追加するだけです。私が理にかなっていることを願っています。 コンピュータのアカウントを使用してリモートで接続する場合は常に、コンピュータのマシン アカウントを使用していることになるため、これを追加する必要があります。 Web サーバーが呼び出されたとします。NETWORK SERVICENETWORK SERVICENETWORK SERVICE
NETWORK SERVICE
PRODSERVERでは、マシン/コンピューター アカウントPRODSERVER$をリモート共有フォルダーのアクセス許可に追加する必要があります。
それが役立つことを願っています。

于 2014-08-11T07:25:55.197 に答える