我们创建了一个单例对象(SsoSettingsProvider),我们在其中注入具有生活方式 PerWebRequest 的对象(IReservationService 在我们的示例中是 WCF 客户端)。在构造函数中,我们使用这个对象来获取一些数据,并将这些数据放在一个私有字段中。
public class SsoSettingsProvider : ISsoSettingsProvider
{
readonly LogonSettings _logonSettings;
public SsoSettingsProvider(IReservationService reservationService)
{
_logonSettings = reservationService.GetSSOSettings();
}
}
如果我们看看温莎城堡可能的生活方式不匹配,它会说:
“具有生活方式 Singleton 的组件 'SsoSettingsProvider / ISsoSettingsProvider' 依赖于具有生活方式 PerWebRequest 的'后期绑定 IReservationService' 这种依赖关系通常是不希望的,并且可能导致各种错误。”
该信息说只有可能性,但在这种情况下,我认为这不是问题,因为注入的对象没有在字段中引用,因此可以进行垃圾收集。我对吗 ?