我正在尝试使用 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?
我将不胜感激任何评论。
谢谢