我有一个使用 Autofac 和 Autofac.Mvc3 用 MVC3 编写的现有的工作网络应用程序。我现在需要使用 SignalR,所以我通过 Nuget 引入了 Autofac.SignalR,它已将 Autofac.dll 升级到 3.0.0。
我现在注意到的是,当我尝试注册一个类型时,当我调用InstancePerHttpRequest
一个类型的生命周期时,我会得到一个 MissingMethodException。
作为练习,我尝试使用 Autofac.Mvc4 和 Autofac.SignalR 在一个全新的 MVC4 应用程序中执行我当前应用程序的 autofac 注册正在执行的操作,这似乎工作得很好。
任何帮助,将不胜感激
触发错误的示例行
builder.RegisterType<CompanyController>().InstancePerHttpRequest();
// or
builder.Register(x => x.Resolve<ISessionFactory.
().OpenSession()).InstancePerHttpRequest();
例外
找不到方法:'Autofac.Builder.IRegistrationBuilder
3<!0,!1,!2> Autofac.Builder.IRegistrationBuilder
3.InstancePerMatchingLifetimeScope(System.Object)'。
堆栈跟踪
在 Autofac.Integration.Mvc.RegistrationExtensions.InstancePerHttpRequest[TLimit,TActivatorData,TStyle](IRegistrationBuilder`3 注册) 在 DMS.Website.MvcApplication.Application_Start() 在 d:\Code\Onset\DOT\trunk\DMS\DMS.Website \Global.asax.cs:第 167 行