3

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 Web サイトから取得した依存リボルバー。

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

しかし、わかります。

「AutofacWebRequest」に一致するタグを持つスコープは、インスタンスが要求されたスコープからは見えません。これは通常、HTTP ごとのリクエストとして登録されたコンポーネントが、SingleInstance() コンポーネント (または同様のシナリオ) によってリクエストされていることを示します。Web 統合の下では、コンテナー自体からではなく、常に DependencyResolver.Current または ILifetimeScopeProvider.RequestLifetime から依存関係をリクエストします。 .

4

2 に答える 2

2

私はautofacから解決策を得ましたが、完璧ではありませんが、うまくいきます:

http://code.google.com/p/autofac/issues/detail?id=416

于 2013-05-09T15:09:35.853 に答える
0

試してみる価値があるかもしれませんが、この新しいドキュメント ページが問題を見つけるのに役立つかもしれません: https://code.google.com/p/autofac/wiki/SignalRIntegration

于 2013-03-18T15:12:30.373 に答える