0
私は私のMVC 5アプリケーションの実行をトレースする必要が
では動作しませんので、私はこれを追加しました: は、本番サーバー
<system.diagnostics>
<trace autoflush="true" indentsize="4" />
<sources>
<source name="mySource" switchValue="Information" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "C:\inetpub\wwwroot\website\trace.log" />
</listeners>
</source>
</sources>
</system.diagnostics>
とコードで
、私は次のように追加しました:public static TraceSource _trace = new TraceSource("mySource");
_trace.TraceInformation("Tracing messages");
問題は本番サーバーでは何も起こらないということです。ログファイルは作成されません。
私の開発PCで、リリースビルドを使用しているのが不思議なことです。ウェブサイトはTRACE定数ONでコンパイルされました。
プロダクションサーバーにはIIS 8.5があり、私のPCにはIISEXPRESSが使用されています。それが唯一の違いです。
お願いします。
ACLの問題である可能性があります。ログファイルの場所を 'c:\ temp \ trace.log'のように変更しようとしましたか?または、C:\ inetpub \ wwwroot \ websiteのセキュリティ設定を見て、それらをMVCアプリケーションが実行されているユーザーと比較しますか? – spodger
あなたは正しいと思います... IIS_APPPOOLユーザーをフルコントロールのフォルダに追加してトレースを保存しました – jstuardo
IISユーザーにWebアプリケーションのルートを完全に制御する必要はありません。 。さらに、ログファイルを一般公開されている場所に書き込んでいます。その代わりに、サブフォルダまたはアプリケーションのいずれかに書き込む必要があります。また、IISユーザーに制御権を与えます(または読み取り/書き込み/変更のみ)。また、Webルートの外部に書き出しを許可し、ログを書き込むこともできます。そこにファイル。 –