MVVM Light SimpleIoC是否支持单例?

Jos*_*arl 10 windows-phone-7 mvvm-light

我在我当前的Windows Phone项目中使用SterlingDB,我希望能够使用MVVM Light v4中的新SimpleIoC容器从我的应用程序中的各个位置解析Sterling数据库.

但是,我不确定SimpleIoC是否支持注册单例.SterlingDB引擎只应在应用程序首次启动时创建,并且我不希望每次容器注入对它的引用时都会启动新实例.

如果我有不同的方式来思考这个问题,我也很乐意接受替代方案.

LBu*_*ion 27

SimpleIoc根据您传递给它的键返回实例.如果在没有键的情况下调用GetInstance(),则始终会获得对象的默认实例.仅在第一次调用GetInstance时创建实例(延迟创建).如果使用密钥调用GetInstance,我会查看注册表中是否已存在此命名实例.如果它还没有,我创建它然后我返回它.如果已经有一个具有该密钥的实例,我只需将其返回.

在alpha版本(BL16 MIX版本)中,有一个错误导致Register在使用密钥时过早地创建实例.这个错误修复了V4 beta1,我将在本周发布.

因此,如果您始终使用相同的密钥(或者根本不使用密钥,则只使用默认实例),您将看到来自SimpleIoc的相同实例.

是否有意义?洛朗