2

我需要一个可以在 log4net 文件附加程序中指定的路径,以便日志文件可以去那里。但是,aspnet 或任何帐户都没有对 %APPDATA% 文件夹的写入权限。有没有我可以写信而不要求客户管理员提供额外访问权限的地方?Path.GetTempFile() 可能不是一个好主意。我需要一些可以告诉用户查看的已定义位置,以及 Web 应用程序也可以从中读取的位置。关于如何实现我需要的任何其他想法?

我想强调:重点是不要问客户任何事情!

4

4 回答 4

1

嘿,我确实想到了一些东西。呃……我觉得有点傻,没有早点提到这一点。如果您的应用程序正在与数据库通信,您可以在其中为日志创建一个或多个表。有写入数据库的 log4net 附加程序。我确定如果您使用的是数据库,那么权限问题已经解决。数据库中的日志条目有一些优点(也有一些缺点)。

于 2009-03-21T15:21:14.607 回答
1

在我当前的应用程序中,安装程序(使用 Windows Installer XML 构建的 .msi)创建了一个用于日志输出的可写文件夹(以及一个用于压缩所有日志文件并在出现问题时将它们发回给我的工具)。

于 2009-03-21T15:22:24.887 回答
1

使用 EventLogAppender 的系统事件日志呢?这对你来说是一个选择吗?

于 2009-03-21T16:10:51.650 回答
0

据我所知,默认情况下,ASPNET 用户没有写入权限的地方。根据设计,它作为一个非常有限的帐户开箱即用。我认为必须进行一些管理更改,尽管有一些方法可以使它们自动化,这样您的客户就不必手动进行。例如,它们可以放置在您提供的脚本中,当然也可以内置到安装程序中。我敢肯定,您仍然希望确保您的客户能够接受这些更改,具体取决于他们对安全性或 IT 的意识。我希望我能想出一种方法让你做你想做的事,但没有别的想法。

于 2009-03-21T13:38:42.263 回答