2017-06-09 16 views
0

私はEndPointConfiguratorというクラスを持っています。それに作業単位を挿入してそのクラスで使用したいと思います。オブジェクトがAutofacに登録されているので、コントローラのように動作します

public class EndPointConfigurator 
{ 
    private static UnitOfWork _unitOfWork; 
    public EndPointConfigurator(IUnitOfWork uow) 
    { 
     _unitOfWork = (UnitOfWork)uow; 
    }    

    //use unit of work 
} 

は私のような私のコントローラを登録します。

builder.RegisterAssemblyTypes(getExecutingAssembly) 
     .Where(t => t.Name.EndsWith("Controller", StringComparison.InvariantCulture)); 

私はコントローラが行うように、それはそれに注入何かを得ることができるように、このクラスを登録するための最良の方法であると思いまして。コントローラにはインタフェースがなく、どこにでも注入する必要がないため、このクラスのインタフェースは必要ないか、必要としません。

答えて

1

あなたは、それ自体としてタイプを登録することができます

builder.RegisterType<EndPointConfigurator>().As<EndpointConfigurator>(); 

または

builder.RegisterType<EndPointConfigurator>().AsSelf(); 

たり、任意のサービスを指定しない場合、Autofacが自動的

builder.RegisterType<EndPointConfigurator>(); 
自体として登録されますが

私は最初の解決策を好む私たちがやりたいことをコンテナ。

関連する問題