0

助けてくれてありがとう。mvc4 に変更し、app_start/routeconfig.cs を使用してルートを登録し始めました。

おそらくautofacとは何の関係もありませんが、解決策を見つけることができません。mvc4 razorのインターネットテンプレートでautofacを使用することを計画しているときにroutetable.routes、追加の場所で宣言する必要があるかどうかを知っている人はいますか?RouteConfig.RegisterRoutes(RouteTable.Routes);

現在、アプリで動作している map.route 定義はありません。次のようなインスタンスを宣言する必要があるかどうかわかりません

RegisterInstance(RouteTable.Routes);

どうもありがとうございます。

4

1 に答える 1

1

これは基本的に、mvc 用に Autofac を構成するための最小限のコードです。Autofac.Integration.Mvc を参照する必要があります。webapi を使用している場合は、Autofac.Integration.Webapi も参照する必要があります。

public static class AutofacConfig
{
    public static IContainer Register()
    {
        var assembly = typeof(MvcApplication).Assembly;
        var builder = new ContainerBuilder();

        builder.RegisterControllers(assembly);
        // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi
        builder.RegisterApiControllers(assembly);

        var container = builder.Build();

        DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi
        var resolver = new AutofacWebApiDependencyResolver(container);
        // Configure Web API with the dependency resolver.
        GlobalConfiguration.Configuration.DependencyResolver = resolver;

        return container;
    }
}

Global.Asax で追加できます

AutofacConfig.Register();

最初の呼び出しの 1 つとして Application_Start メソッドで。

于 2013-02-22T17:29:11.707 に答える