如何在多个请求中保留可变内容?

时间:2013-02-28 10:46:23

标签: c# asp.net-mvc

我想使用StringBuilder在内存中构建一个日志文件,所以我有一个

private StringBuilder logFile = new StringBuilder();

在我的控制器类中。晚于我将日志行追加到该对象。

但是在每次请求之后它都被清除了。如何在多个请求/视图中保留内容?什么是最好的方法?

3 个答案:

答案 0 :(得分:0)

我建议使用log4Net 来满足任何日志记录需求,像cham一样工作,并且完全符合您的要求。

答案 1 :(得分:0)

您可以使用静态字段(确保正确同步对其的访问)或直接将值附加到文件。或者只是使用专为此目的而设计的日志框架。您不需要使用第三方,.NET已经内置了一个出色的日志工具(查看System.Diagnostics命名空间)。

答案 2 :(得分:0)

您可以使用SessionCache在请求之间存储数据,例如:

Session["data"] = logFile;

然后检索它:

logFile = Session["data"] as StringBuilder;