0

リクエストごとに利用できるベースコントローラーにいくつかのサービスを登録しようとしています。

public interface IInstagramApiService
{
}

public interface IApiServiceConfiguration
{
    string CacheKeyPrefix { get; }
}

次に、これらの具体的な実装がいくつかあります

public class InstagramApiService : IInstagramApiService
{
   IApiServiceConfiguration ApiServiceConfiguration { get; set; }

   public InstagramApiService(IApiServiceConfiguration apiServiceConfiguration)
   {
       ApiServiceConfiguration = apiServiceConfiguration;
   }

}

public class ApiServiceConfiguration : IApiServiceConfiguration
{
    public string CacheKeyPrefix
    {
        get;
        set;
    }
}

次に、このサービスも登録したいベースコントローラーがあります。

public class BaseController : Controller
{
    IInstagramApiService InstagramApiService { get; set; }        
}

したがって、アプリの起動時にこの初期化があります。

var instagramApiServiceConfiguration = new ApiServiceConfiguration() { 
     CacheKeyPrefix = "The Cache Key Prefix",
};

container.Register<IInstagramApiService>((factory) => new InstagramApiService(instagramApiServiceConfiguration), new PerRequestLifeTime());

しかし、InstagramApiServiceオンを確認すると、BaseController常にnull. InstagramApiServiceコントローラー内で常に使用できるように、これを設定する正しい方法は何ですか?

4

1 に答える 1