4

私が達成したいことは簡単です:

「my-site」は空の Web サイトで、「foo」、「bar」、「baz」などのフォルダーが多数含まれていることに注意してください。

したがって、「foo」を右クリックして「New > virtual directory」を選択し、VS.NET で作成したアプリケーションを追加してからhttp://localhost/foo/uploadに移動しようとすると、次のエラーが発生します。

Parser Error Message: An error occurred loading a configuration file: Failed to 
start monitoring changes to 'C:\InetPub\my-site\foo\web.config' 
because access is denied.

問題は、 Web構成がないことです。「foo」フォルダーにあり、サイト内の通常のフォルダーにすぎないため、そうすべきではありません。仮想ディレクトリを最上位のhttp://localhost/foo_uploadなどに追加すると、すべてが正常に機能します...だから、ここで何が間違っているのでしょうか?

4

2 に答える 2

7

システムのアクセス許可の問題のようです。.NET アカウントの場合、ASP.NET が実行されるユーザー コンテキストには、サイトへのアクセスが必要です。

Windows Server 2000 までのシステムでは、このユーザーは単に ASPNET と呼ばれるローカル アカウントでしたが、その後は NT_AUTHORITY アカウントの 1 つに変更されます。これを見つける最も簡単な方法は、IIS WPG グループ (ローカル グループ) にアクセス権を与えることです。アカウント。

MS はhttp://support.microsoft.com/kb/316721/で手順を提供しています。上記を使用して、アクセスを確認する必要があるユーザー アカウントを決定します。

于 2009-02-20T15:06:37.570 に答える
1

同じ問題を抱えていて、このトピックを見つけた人に答えているだけです。

Everyone にアクセス許可を追加しました (この場合は、フォルダー内にありますC:\InetPub\my-site\foo\)。次に、このフォルダーでアプリを実行しているユーザーをページに出力しました...

何かのようなもの:

labelCurrentUser.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

次に、全員の許可を削除し、取得したユーザーを追加しました。

于 2010-08-02T17:23:59.190 に答える