0

スレッド上でも Current HttpContext を使用するために、Structuremap を使用してクラスを構成しようとしています。

私はこのクラスを持っています

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

    public HttpContextBase HttpContext { get; private set; }
}

BootStrapper クラスで以下を使用すると、システムは HttpContext.Current を取得しようとすると例外をスローします。[HttpContext が null です]

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

一方、次を使用すると、null のセッションとは対照的に 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