0

我正在尝试使用 Structuremap 配置一个类,以便在线程上使用 Current HttpContext 。

我有这门课

public class SiteContext
{
    public SiteContext(HttpContextBase context)
    {
        HttpContext = context;
    }

    public HttpContextBase HttpContext { get; private set; }
}

如果我在我的 BootStrapper 类中使用以下内容,系统将在尝试获取 HttpContext.Current 时抛出异常。[HttpContext 为空]

For<SiteContext>()
            .HybridHttpOrThreadLocalScoped()
            .Use(() => new SiteContext(new HttpContextWrapper(HttpContext.Current)));

而如果我使用以下内容,我可以得到 HttpContext.Current ,而不是为空的会话。

For<SiteContext>()
            .HttpContextScoped()
            .Use<SiteContext>()
            .Ctor<HttpContextBase>("context")
            .Is(new HttpContextWrapper(HttpContext.Current));

编辑

For<HttpContextBase>()
            .HttpContextScoped()
            .Use(() => new HttpContextWrapper(HttpContext.Current));

有没有办法可以在线程上使用 HttpContext.Current?

我将不胜感激任何评论。

谢谢

4

0 回答 0