我们目前有一个使用OWIN进行连接的NancyFx项目。我们没有使用System.Web,并且需要一个在请求生命周期内存活的上下文存储位置,而不是HttpContext。我们已经开始在线程静态变量上实现上下文,以便我们可以在应用程序的任何地方访问上下文,但我们担心使用异步调用会失去这个线程静态上下文。
当您与System.Web解耦时,您将使用什么作为静态访问器而不是HttpContext?
当您与System.Web解耦时,您将使用什么作为静态访问器而不是HttpContext?
这个帖子可能会回答你的问题: https://groups.google.com/forum/#!topic/nancy-web-framework/yILM4ZMrsSQ
public class Bootstrapper : DefaultNancyBootstrapper
{
protected override void ConfigureRequestContainer(
TinyIoCContainer container, NancyContext context)
{
base.ConfigureRequestContainer(container, context);
container.Register<ICurrentRequest>(
(c, o) => new CurrentRequest(context));
}
private class CurrentRequest : ICurrentRequest
{
public CurrentRequest(NancyContext context)
{
this.Context = context;
}
public NancyContext Context { get; private set; }
}
}