0
リクエストごとに利用できるベースコントローラにいくつかのサービスを登録しようとしています。サービスは常にlightinjectを使用してnullです
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());
しかし、私はそれは常にnull
だBaseController
にInstagramApiService
をご確認ください。これを設定する正しい方法は何ですか?コントローラ内でいつもInstagramApiService
を使用できるようにしますか?