0

我在 C# 中有一个类,可以在发生异常时将错误消息保存在日志文件中。现在我想将日志文件保存在包含应用程序(在我的情况下是网站)文件的同一文件夹中。我尝试使用 Environment.CurrentDirectory 但是它没有检索到我的网站的路径。我该怎么做才能使用指向网站目录内的相对文件路径?

这是班级的代码。如您所见,路径是绝对的。我想将其更改为指向我网站目录中文件夹的相对文件路径。

4

3 回答 3

3

通常Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)返回当前程序集所在的路径。你可以使用

string logName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyLogFile.log");

创建日志文件名。

问题实际上是操作系统是否允许登录到应用程序的文件夹。此外,对于 Web 应用程序,日志文件将是公开可见的,并可通过 Web 浏览器访问

于 2012-10-01T14:42:37.687 回答
2

对于网站使用:

HttpContext.Current.Server.MapPath("~/");
于 2012-10-01T14:42:43.640 回答
0

你也可以试试这个解决方案:

string path  = AppDomain.CurrentDomain.BaseDirectory + "anotherFolder";

这会将应用程序的基本目录和项目中的文件夹!

于 2013-02-14T13:44:19.683 回答