Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
570 views
in Technique[技术] by (71.8m points)

C# How to use Autofac to register httpcontextbase

I use the following code to register httpcontextbase, but sometimes there are non null errors.

error message:

Value cannot be null. Parameter name: httpContext

            builder.RegisterModule(new AutofacWebTypesModule());
            if(HttpContext.Current != null)
            {
                builder.Register(c =>
                    (new HttpContextWrapper(HttpContext.Current) as HttpContextBase))
                    .As<HttpContextBase>()
                    .InstancePerLifetimeScope();
                builder.Register(c => c.Resolve<HttpContextBase>().Request)
                    .As<HttpRequestBase>()
                    .InstancePerLifetimeScope();
                builder.Register(c => c.Resolve<HttpContextBase>().Response)
                    .As<HttpResponseBase>()
                    .InstancePerLifetimeScope();
                builder.Register(c => c.Resolve<HttpContextBase>().Server)
                    .As<HttpServerUtilityBase>()
                    .InstancePerLifetimeScope();
                builder.Register(c => c.Resolve<HttpContextBase>().Session)
                    .As<HttpSessionStateBase>()
                    .InstancePerLifetimeScope();

I don't know if it's because of multithreading? Can anyone help? be deeply grateful enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...