フラットファイルリスナーを使用しています。IISでログが記録されていない
Visual StudioのWeb開発サーバーで実行している場合、 "c:\ temp \ log.txt"にログインします。
同じマシンのローカルIISでホストするときは何も書き込まれません。
私はすでにIISで匿名認証を許可しています。
Visual Studio 2008、IIS 5.1、およびEntLib 4.1を使用しています。
何が問題になったのか教えてください。
フラットファイルリスナーを使用しています。IISでログが記録されていない
Visual StudioのWeb開発サーバーで実行している場合、 "c:\ temp \ log.txt"にログインします。
同じマシンのローカルIISでホストするときは何も書き込まれません。
私はすでにIISで匿名認証を許可しています。
Visual Studio 2008、IIS 5.1、およびEntLib 4.1を使用しています。
何が問題になったのか教えてください。
権限の問題のようです。アプリケーションをプロセス外で実行している場合、プロセスはaspnet_wp.exeになり、実行されるアカウントはMACHINENAME \ ASPNETになります。
ASPNETアカウントにc:\ tempフォルダへの書き込み権限があることを確認する必要があります。そうでない場合は、ASPNETアカウントの書き込みアクセスを許可します。
それでも問題が解決しない場合は、トラブルシューティングが必要な場合は、sysinternalsからProcess Monitorをダウンロードして、ACCESS DENIEDメッセージがないかどうかを確認してください。少し古く、従来のツールFilemon(Process Monitorが置き換えられる)を使用して、this KB articleはトラブルシューティングの手順と何を探すべきですか。
ワーカープロセスはc:\ tempに書き込む権限を持っていますか?私はIIS 5で作業していたのでしばらくしていましたので、ワーカープロセスがどのアカウントで実行されているのかわかりませんが、c:\ tempに書き込むアクセス権があることを確認する必要があります。
どうすれば確認できますか? – user146584
c:\ tempフォルダのプロパティダイアログを開き、IISが実行されていることを確認して、フォルダ(およびその子)への書き込みアクセス権があることを確認します。これは標準のWindowsセキュリティに過ぎません。
IISが使用しているアカウントを確認するには、IIS管理コンソールに設定が必要です。デフォルトのアカウントは「IUSR_」で始まります。
「Everyone」にc:\ tempの書き込みアクセス権を与えて、問題が解決したかどうかを特定のアカウントに絞ることができます。 「Everyone」書き込みアクセスを許可しないと、アクセス権の問題ではありません。
ありがとうTuzo!あなたが言ったように、それは許可の問題でした。 – user146584
Dude - これはほとんど常にパーミッションのものです。 –