これは私がアプリケーションの例外を記録するために使用している私の方法です。 Visual Studioでは動作しませんが、IISではうまく動作します。 "PresentMonth"と "Filename"の形式を変更すると、VSでは動作しますが、IISでは動作しません。私は何が間違っているのか分からない。例外を記録することができません
public static void WriteLog(string sExceptionName)
{
try
{
StreamWriter log;
//String Filepath = "C:\\Quasar_Logs\\";
String Filepath = ConfigurationManager.AppSettings["FilePath"].ToString();
String PresentMonth = DateTime.Now.ToString("-MMM-yy");
String Filename = "Quasar_Log"+ PresentMonth +".txt";
if (!File.Exists(Filepath + Filename))
{
log = new StreamWriter(Filepath + Filename);
}
else
{
log = File.AppendText(Filepath + Filename);
}
log.WriteLine("Data Time:" + DateTime.Now +"\n\n");
//log.WriteLine("Exception Name:" + sExceptionName);
log.WriteLine(sExceptionName);
//log.WriteLine("Error Line No.:" + nErrorLineNo);
log.Close();
}
catch (Exception ex)
{
HttpContext.Current.Response.Redirect("../Access/UnabletoLog.htm");
WriteLog("Line Number: " + ex.ToString());
}
}
そのを。あなたが書き込もうとしている場所の権限の問題。 – BugFinder
@BugFinder以前は 'C'ドライブで作成しましたが、今は 'E'ドライブに変更しました。しかし、私の疑問は、私はCドライブでファイルを持っているとき、私はフォーマットを変更するとIISで動作しますが、VSで動作しません。 –
なぜなら、あなたが実行しているVSでは、IISで何か他のものが実行されているからです。あなたは許可を与えることができるはずです。 – BugFinder