我在我的应用程序的根目录上有一个log.txt文件。我希望能够让我的日志类能够访问此文件并写入它。但我不知道如何告诉它在我的代码中的文件的正确路径。感谢您的帮助有没有办法在我的asp.net应用程序的类中使用Server.MapPath
using (StreamWriter w = File.AppendText("log.txt"))
{
Log(e.ToString(),w);
w.Close();
}
我在我的应用程序的根目录上有一个log.txt文件。我希望能够让我的日志类能够访问此文件并写入它。但我不知道如何告诉它在我的代码中的文件的正确路径。感谢您的帮助有没有办法在我的asp.net应用程序的类中使用Server.MapPath
using (StreamWriter w = File.AppendText("log.txt"))
{
Log(e.ToString(),w);
w.Close();
}
使用
Server.MapPath("~/log.txt")
得到完整的文件名。
更新:
如果你不是一个ASP页面内,但在普通班,尝试:
System.Web.HttpContext.Current.Server.MapPath("~/log.txt")
我不能将它的类不是一个asp.net类。如果你能,你能告诉我如何? – user516883 2012-03-29 13:29:14
'System.Web.HttpContext.Current.Server'在'MVC6'中的'View'中不可用现在只是'Context',但没有'Server' – 2016-02-19 08:15:26
通常情况下,您将从Web.config中获取该路径。
这将是一个物理文件路径,而不是相对URL路径。没有MapPath需要。
最简单的方法:用设置设计工具创建它,并把它读作
string fname = Properties.Settings.Default.LogFile;
好吧,你能给我一个例子,可以说我想将其保存到我的根目录。 – user516883 2012-03-29 13:29:54
应用程序根目录或Diskdrive根目录?顺便说一句,既不是一个日志文件的好选择。 – 2012-03-29 13:33:46
最好把所有登录的App_Data,可能是您的应用程序不具有权限的根文件夹 – 2012-03-29 13:28:20
编写,并考虑:文件.AppendAllText(filename,msg); – 2012-03-29 13:42:47