【发布时间】:2015-06-30 08:44:06
【问题描述】:
我对 InSingletonScope() 有一些问题。
我的界面:
public interface ISettingsManager
{
ApplicationSettings Application { get; }
}
和我的班级:
public class SettingsManager : ISettingsManager
{
private readonly IConfigurationService _configurationService;
private readonly Lazy<ApplicationSettings> _applicationSettings;
public ApplicationSettings Application { get { return _applicationSettings.Value; } }
private SettingsManager(IConfigurationService context)
{
_configurationService = context;
_applicationSettings = new Lazy<ApplicationSettings>(() => new ApplicationSettings(context));
}
}
绑定看起来像这样:
kernel.Bind<ISettingsManager>().To<SettingsManager>().InSingletonScope();
您如何看待这种方法?
例如,在 HomeControler 中,当我添加时:
[Inject]
SettingsManager _settingsManager;
_settingsManager 始终为空。
如何在另一个项目中使用 SettingsManager 单例?我总是得到空值。
【问题讨论】:
标签: c# asp.net-mvc dependency-injection