2013-03-14 89 views
3

如何讓Autofac將信號注入到信號中心,我嘗試了所有問題,其中許多問題現在已過時,我嘗試過從signalr.autofac下載他們的網站,但似乎沒有工作?無法使用Autofac將信號注入到Signalr Hub

我Autofac

var builder = new ContainerBuilder(); 
builder.RegisterControllers(typeof(MvcApplication).Assembly); 

//Register Context 
builder.Register(c => new myContext()).As<IUnitOfWork>().InstancePerLifetimeScope(); 

//Repositories 
builder.RegisterGeneric(typeof(BaseRepository<>)).As(typeof(IBaseRepository<>)).InstancePerHttpRequest();   

//Service Layer 
builder.RegisterType<UserService>().As<IUserService>().InstancePerHttpRequest(); 

//other services etc 

builder.RegisterType<ChatHub>(); 

var container = builder.Build();   

DependencyResolver.SetResolver(new AutofacDependencyResolver(container));   

GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); 
RouteTable.Routes.MapHubs(); 

的依賴左輪手槍我從autofac網站獲得;

http://code.google.com/p/autofac/downloads/detail?name=Autofac.SignalR.3.0.0.zip

,但我得到;

從請求實例的 作用域看不到具有標籤匹配'AutofacWebRequest'的作用域。這通常表示 一個組件註冊爲每個HTTP通過 正被請求請求一個SingleInstance()組分(或類似的情況。)在捲筒紙 積分總是請求來自 DependencyResolver.Current或ILifetimeScopeProvider.RequestLifetime, 依賴性從來沒有從容器本身。

+0

請發佈你的代碼到目前爲止?你如何建立你的容器你如何創建和設置依賴解析器?等 – nemesv 2013-03-14 18:18:56

+0

代碼已更新,集線器只是一個集線器添加了服務接口,如果需要,我可以發佈代碼,不知道是否需要其他任何東西 – EnenDaveyBoy 2013-03-14 20:43:01

回答