Asp.net mvc 4 将委托注入服务时,SimpleInjector正在抛出ThrowMissingInstanceProducerException

Asp.net mvc 4 将委托注入服务时,SimpleInjector正在抛出ThrowMissingInstanceProducerException,asp.net-mvc-4,simple-injector,Asp.net Mvc 4,Simple Injector,我正在将ASP.Net应用程序从MC3转换为MVC4。我有旧MVC3时代的Simpleinjector代码,如下所示 WebContainer.Instance.Container.GetInstance<Func<HttpRequestBase>>(); container.RegisterPerWebRequest<Func<HttpRequestBase>>(() => () => new HttpRequestWrapper

我正在将ASP.Net应用程序从MC3转换为MVC4。我有旧MVC3时代的Simpleinjector代码,如下所示

WebContainer.Instance.Container.GetInstance<Func<HttpRequestBase>>();
 container.RegisterPerWebRequest<Func<HttpRequestBase>>(() => () => new HttpRequestWrapper(HttpContext.Current.Request));
WebContainer的代码如下所示

     this.Container = new Container();
        SimpleInjectorWebInitializer.Initialize();
        this.Container.RegisterPackages(GetAssemblies());
        this.Container.RegisterMvcControllers(Assembly.GetExecutingAssembly());
        this.Container.RegisterMvcIntegratedFilterProvider();
        this.RegisterGlobalFilters();

        //this.Container.Verify();
        DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(this.Container));
        //this.VerifyPages();
本职能的注册如下所示

WebContainer.Instance.Container.GetInstance<Func<HttpRequestBase>>();
 container.RegisterPerWebRequest<Func<HttpRequestBase>>(() => () => new HttpRequestWrapper(HttpContext.Current.Request));
container.registerWebRequest(()=>()=>新的HttpRequestWrapper(HttpContext.Current.Request));

您为什么希望这样做有效?您能显示您在
Func
上的注册信息吗?简单注入器的集成包没有为您注册此
Func
。Steven,感谢您的回复。注册如下所示:container.registerWebRequest(()=>()=>新的HttpRequestWrapper(HttpContext.Current.Request));尝试升级到最新版本(v3.1)。感谢您的评论。由于公司政策原因,我无法升级到4.5版本,请确认此软件包与.Net framework 4兼容。我可以确认。Simple Injector v3与.NET 4.0兼容。