7

Dependency.SetResolverメソッドを使用し、autofac mvc 5 統合で autofac を使用して、新しいアプリにコンテナーを設定しようとしています。

問題は、リゾルバーを設定しても何もしないように見えることです。デフォルトのリゾルバーが常に使用され、常にデフォルトのコンストラクターが必要になります。

何か案は?

編集 - global.asax.cs、次のように単純化しました。

var b = new ContainerBuilder();  
b.RegisterType<UserInfo>().As<IUserSession>().InstancePerHttpRequest();  
var container = b.Build();  
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

コンストラクターでHomeControllerを受け取りますIUserSession。スローされる例外は "No parameterless constructor defined for this object." Thrown from "System.Web.Mvc.DefaultControllerActivator.Create"

4

1 に答える 1

18

コントローラーを登録するのを忘れました:

b.RegisterControllers(typeof(MvcApplication).Assembly);

Autofac wikiページの詳細

于 2013-11-12T15:15:49.947 に答える