Owin / Vnext中的deos CallContext如何工作

时间:2015-08-18 20:24:50

标签: owin

我已经看到在vnext中,CallContext使用了HttpContextAccessor,我尝试对小型owin依赖跟踪器使用相同的想法但是失败了。

我的中间件设置如下:

        app.Use(async (ctx,next) =>
        {
            CallContext.LogicalSetData("BLABLABAL", new ObjectHandle(new request()));
            await next();
        });

并结合应用洞察遥测初始化器:

public class ItemCorrelationTelemetryInitializer : ITelemetryInitializer
{
    public ItemCorrelationTelemetryInitializer()
    {

    }
    public void Initialize(ITelemetry telemetry)
    {
        //telemetry is a dependencyTelemetry
        var handle = CallContext.LogicalGetData("BLABLABAL") as ObjectHandle;
        var test = handle != null ? handle.Unwrap() as request : null;
        if(test != null)
            telemetry.Context.Operation.Id = test.test;
    }
}

但我的问题是句柄总是为空;

所以我的问题是,对于没有system.web的vnext或owin,当callcontext无法覆盖对象时,如何制作依赖关系跟踪模块,如上所示。

0 个答案:

没有答案