在Asp.Net中,在什么情况下我将使用单例,因为大部分工作可以通过检查它是否为空来完成Session / Cache / Static。
请参阅我之前的问题
Singleton Pattern / Check for Null - While using Asp.Net with Session
答案 0 :(得分:12)
我认为您将Singleton pattern的特定实现与概念本身混淆。您之前的问题/实现可以在用户会话中解释为Singleton,如果您保存在Application缓存中,则它将是ASP.NET应用程序的Singleton。
Singleton只是意味着任何时候只有一个特定对象的实例,这是由应用程序强制执行的 - 如何你强制执行这个实现细节可能会因你选择的不同而有所不同平台/语言。
特别是对于ASP.NET,您仍然可以使用静态变量为C#使用标准单例模式(请参阅Implementing the Singleton Pattern in C#)。如果您的应用程序在Web场方案中使用,则只有多个实例,也请参阅此SO线程:Are static class instances unique to a request or a server in ASP.NET?