依赖注入和用户特定数据
|
我有使用ORM的应用程序(处于休眠状态,但事实并非如此)。
要创建NH Session,我们需要传递一个地方:用户名,数据库名称等。因此,我实现了:
public interface ISettingsManager
{
Settings MySettings {get;set;}
}
public class Settings
{
public string DbUser{get;set;}
public string DbAddress {get;set;}
public string DbPassword{get;set;}
//...
}
public class SessionProvider
{
[Inject]
public ISettingsManager MySettings {get;set;}
public Session CreateSession
{
//Create Session object using settings passed do MySettings via IoC.
}
}
public static Main()
{
// very beggining of my application, bootstrap the DI container
Bind<ISettingsManager>().To<SettingsManagerImpl>();
// Application run
}
我所有的NHibernate会话提供程序都通过DI(Ninject)注入了“ 1”,因此我可以简单地使用它。它的作用就像是一种伤害,但是现在我需要在我的应用程序中支持许多用户,并且问题出现了。当应用程序启动时,我无法绑定ISettingsManager,因为我现在不登录,因为我现在不登录。
因此,问题是,如何以最佳方式实现在不使用服务位置的情况下传递当前记录的用户设置?
没有找到相关结果
已邀请:
2 个回复
舜辉
帆攀缺锯欧