有没有一种方法可以在我的asp.net应用程序的类中使用Server.MapPath

本文关键字:应用程序 net MapPath Server asp 我的 一种 方法 有没有 | 更新日期: 2023-09-27 18:29:19

我的应用程序根上有一个log.txt文件。我希望我的日志类能够访问这个文件并写入它。但我不知道如何在代码中告诉它文件的正确路径。感谢的帮助

using (StreamWriter w = File.AppendText("log.txt"))
    {
         Log(e.ToString(),w);
         w.Close();
    }

有没有一种方法可以在我的asp.net应用程序的类中使用Server.MapPath

使用

Server.MapPath("~/log.txt")

以获取完整的文件名。

更新:

如果你不是在ASP页面中,而是在普通类中,请尝试:

System.Web.HttpContext.Current.Server.MapPath("~/log.txt")

更新2:看起来您正在尝试创建自己的日志记录解决方案。您可以考虑使用现有的解决方案,如NLog或Log4Net。

通常情况下,您可以从Web.config中获取该Path。
它将是一个物理文件路径,而不是一个相对的URL路径。不需要MapPath。

最简单的方法:使用设置设计器工具创建它,并将其读取为

 string fname = Properties.Settings.Default.LogFile;