![]() |
1
5
不需要一个有所有相关缺点的单身汉( customary anti-singleton link )
我喜欢把它储存在
|
![]() |
2
5
我会考虑将规则存储在所有会话都可用的httpContext.cache中。您可以在卸载缓存时重建缓存(由于缺少使用)。 |
![]() |
3
1
我觉得你的解决方案不错。特别是如果消费代码没有修改数据,那么使用单例类或静态类听起来应该不是问题。我不确定是否有必要给它贴上“单身”的标签,尽管我想这就是它的行为方式。 您可以使用一个固有的“缓存”静态类,因为它在aspnet工作进程内存中,或者显式地将其缓存到Web缓存中。如果执行后者,则可以通过向缓存项添加文件依赖项来获益,这样任何文件更改都将强制从缓存重新加载。 |
![]() |
4
1
我不会使用单例,因为这会使应用程序更难测试。大多数IOC容器都可以帮助您用“single(ton)”实例替换这个模式,该实例在所有使用single ton的类之间共享。 |
![]() |
5
0
很容易得到一个IOC容器来为您提供一个单例,我认为使用传统的单例模式是很难证明的。 |
![]() |
6
0
当您可能需要一个对象的多个实例时,单例可以被证明是合理的。术语“singleton”稍微有点误导,因为通常相同的软件设计模式用于控制类的多个实例。 您可以使用静态类,或者在静态引用上挂起单实例,或者将其存储在ASP.NET Web集合中。单例可以参与将来的继承等等……至于静态类和单例模式,我不讨论这个论点,因为它已经 thoroughly addressed online, even on StackOverflow |
![]() |
7
0
很快我就会说不,试着把它绑定到“范围”上。如果它在应用程序范围内,则尝试将其与应用程序绑定。如果它是会话绑定的,请将其放入会话等。例如,如果您希望在同一容器中运行2个应用程序,这将帮助您。我对ASP.NET没有经验,但似乎有一个“httpApplicationState”。你能用一下吗? |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |