【发布时间】:2011-10-05 20:46:31
【问题描述】:
场景:在远程 IIS 上部署了一个 asp.net Web 应用程序,并配置为登录到 oracle 数据库。日志表有这些列:Login_ID、Log_message、Querystring、ipaddress。所以部署的 url 是从不同的系统使用不同的 login_ids 浏览的
问题:当应用程序在具有不同登录 ID 和不同流的不同系统上运行时,一个流/系统的登录 ID 被插入到另一个流/系统。但是,当运行应用程序的单个实例时,会正确插入值。
示例:使用登录 ID X,通过流“A”浏览站点,而另一个登录 ID 为 Y 的用户通过流“B”浏览站点。登录 ID“X”被插入到流“B”和流“A”的记录中
代码:
user = (User)Session["User"];
log4net.GlobalContext.Properties["LOGIN_ID"] = user.loginid;
研究:在浏览了几个站点后,我了解到 log4net 上下文在 asp.net 中无法正常运行。
http://piers7.blogspot.com/2005/12/log4net-context-problems-with-aspnet.html
http://piers7.blogspot.com/2007/07/log4net-in-aspnet-redux-implement.html
这些链接建议我使用 httpcontext,我尝试过但无法获得结果。所以谁能帮我解决这个问题。
【问题讨论】:
标签: logging log4net adonetappender