2

场景:在远程 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' 的记录中</p>

代码:

用户=(用户)会话[“用户”];

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,我尝试过但无法获得结果。所以任何人都可以帮我解决这个问题。

4

1 回答 1

1

在这里查看我对另一个问题的回答

我的回答中的最后一个建议可能是最容易开始工作的,它可能会做你想做的事。我的建议直接基于您上面引用的相同链接。

于 2011-07-15T18:57:38.537 回答