2016-12-21 26 views
0

私は.Net 4.0でWebサービスを持っています。上記のWebサービスをIIS 7.5を実行する2台のIISサーバーに展開しています。どちらのサーバーもネットワークサービスアカウントをセットアップしています。このコードは、サーバー上の物理ディスクに展開されます。ローカルの物理ディスク上のログファイルにも書き込みを試みます。ネットワークシステムユーザーは、ローカルディレクトリに対してフルコントロールのアクセス権を持ちます。サービスが開始されると、まずログファイルにエントリが書き込まれます。これはサーバーAでは正常に動作しますが、サーバーBでは正常に動作しません。IIS 7.5のログファイルに書き込みを行います。

IISサーバー上のファイルIOを積極的に拒否している場所を誰かが見極めることができますか?

特定のエラーメッセージは、例外の詳細です。System.IO.FileNotFoundException:ファイル 'D:\ Data \ Logs \ CDelivery.log'が見つかりませんでした。私はファイルが実際に存在することを保証することができ、これはサーバーAでうまく動作します。

P.S.私もこのソリューションを試しましたが、IEのセキュリティ強化設定は既に管理者とユーザーの両方に対して「オフ」に設定されていますIIS 7.5 App Pool write permissions denied

+0

他のサーバーの正しいパスが正しいですか?それは別のドライブレターかもしれない? – JuanR

+0

ファイルに書き込むコードのサンプルを投稿してください。 – JuanR

+0

Directory.Exists( "D:\")とDirectory.Exists( "D:\ Data")を試して出力を投稿する – Steve

答えて

0

問題が見つかりました。 writetologへの私のコードは静的なクラスにあり、適切にロックする前にリソースにアクセスしていました。 writetolog関数は(他のものの中でも)一般的なエラーハンドラであるため、その中の未処理の例外によってw3pw.exe(およびkernalbase.dll)が爆発していました。

「ファイルxを見つけることができません」というのは実際には問題ではないため、見つけ出すのにはちょっとした努力が必要でした。ひどいエラーメッセージ。

関連する問題