[ https://issues.apache.org/jira/browse/LOG4NET-437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14386242#comment-14386242 ]
Stefan Bodewig edited comment on LOG4NET-437 at 3/30/15 8:37 AM: ----------------------------------------------------------------- Sorry, when I opened LOG4NET-455 I completely forgot about this one. Could you please verify the fix applied for LOG4NET-455 works for your application as well? was (Author: bodewig): Sorry, when I opened LOG4NET-456 I completely forgot about this one. Could you please verify the fix applied for LOG4NET-456 works for your application as well? > LogicalThreadContext data does not flow properly using Async and Await > ---------------------------------------------------------------------- > > Key: LOG4NET-437 > URL: https://issues.apache.org/jira/browse/LOG4NET-437 > Project: Log4net > Issue Type: Bug > Components: Core > Affects Versions: 1.2.9, 1.2.10, 1.2.11, 1.2.12, 1.2.13 > Environment: Windows 7, .NET 4.5 > Reporter: Mike Barry > Attachments: LogicalThreadContext.diff, Program.cs, > ThreadContextStacks.diff > > > LogicalThreadContext doesn't work properly when using Async and Await. The > current NDC call stack gets corrupted because the logical data context is not > immutable. (See: > http://blog.stephencleary.com/2013/04/implicit-async-context-asynclocal.html > for the gory details). I've attached a Program.cs that demonstrates the > issue. You will see with an unpatched log4net the thread context is corrupted > compared to the proper implementation in MyStack and the console logger. An > entry like: > LOG4NET Main 1 A 2 A: </MoreWork> > LOG4NET Main 1 A 2 A: </MoreWork> > is invalid and should not be possible in a properly working thread context. > I've attached a VERY naive patch that corrects the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)