Phi*_*ler 6 c# structuremap inversion-of-control
有没有理由从默认范围(瞬态?)切换到其他东西,除了需要为功能原因控制范围(例如Singleton)?
如果我坚持使用默认范围,每个插件类型的每个默认实例都将在每个请求(假设是一个Web应用程序)上实际实例化,这是正确的吗?这会明显影响性能吗?
我已经考虑过使用Http Session范围来限制每个登录用户的一个实例.但是,这将导致(至少)每个插件类型的一个实例始终存储在内存中.使用默认范围,这些实例仅在处理页面请求时保留在内存中.我不确定哪个更好.
如果您使用StructureMap,您通常如何为每个插件类型配置范围?
感谢您的任何见解,
菲尔
我保留默认范围.这意味着每一个请求(由每个用户或由许多用户),我有一个对象的实例.这意味着每次都会发出新请求.将它保持在会话中我更喜欢对其进行更具体的控制.出于这个原因,我可以在服务层上抛出一个缓存层,并将StructureMap返回到对象中.然后,我可以查询已经实例化(现在已序列化)对象的缓存,并选择从哪里获取对象.
我会对Singleton配置做同样的事情,我将使用StructureMap来获取实际对象......但是当它第二次返回对象时,对象本身会将一个实例移交给它自己(以单例形式表示是).这使用了StructureMap来实现它的强大功能......但是并没有给它提供比所需更多的功率.
| 归档时间: |
|
| 查看次数: |
2618 次 |
| 最近记录: |