Asynchronous Log4net LogicalThreadContext参数';等待后s值为空

Asynchronous Log4net LogicalThreadContext参数';等待后s值为空,asynchronous,asp.net-web-api,owin,log4net,middleware,Asynchronous,Asp.net Web Api,Owin,Log4net,Middleware,我将此代码片段添加到owin中间件 public class SetCurrentActionInfoMiddleware : OwinMiddleware { public SetCurrentActionInfoMiddleware(OwinMiddleware next) : base(next) { } public override async Task Invoke(IOwinContext context) {

我将此代码片段添加到owin中间件

    public class SetCurrentActionInfoMiddleware : OwinMiddleware
{

    public SetCurrentActionInfoMiddleware(OwinMiddleware next) :
        base(next)
    {
    }


    public override async Task Invoke(IOwinContext context)
    {
        log4net.LogicalThreadContext.Properties["prop1"] = "some text";  

        await Next.Invoke(context);
    }
}
在我的WebAPI操作中,我做了一些类似这样的日志记录

Log().Info("Start getting CurrentBusiness info");
但是当我检查我的数据库时,该值为null,但是如果我使用GlobalContext,我将得到它


我的问题是,当我使用LogicalThreadContext时,我得到的是空值是多少?

您使用的是什么版本的log4net?我使用的是版本2.0.7这可能会有帮助@WahidBitar谢谢alot@JohnnyHK不,我已经用另一种方式解决了。您知道,我正在将asp.net web api与OWIN中间件一起使用,我解决的方法是在web api筛选器中为我的log4net属性赋值,而不是在OWIN中间件中赋值。