在过去,我的DAL主要使用单例和静态类,但我的任务是在高负载MVC5环境中创建新的DAL,其中性能是唯一重要的事情。
像这样的单例似乎在性能上会很慢,并且可能会占用很高的内存。静态内存占用空间较小,但也可能导致高内存和可能的并发问题。
public class DAL
{
private DAL()
{
}
private static readonly DAL _singleton = new DAL();
public static DAL Instance()
{
return _singleton;
}
}
发布于 2016-10-28 02:08:31
实际上通用的方法是拥有一个具有请求生存期的实例。在web应用程序的上下文中,像静态和单例这样的东西几乎总是不好的,因为存在诸如并发性之类的固有问题。
性能在这个讨论中真的没有位置,因为您所谈论的都是每个请求实例化一个类,或者只实例化一次。充其量,这只是一个微优化,并不是一个非常有意义的优化。
https://stackoverflow.com/questions/40289100
复制相似问题