2012-11-04 55 views
0

我有一个应用程序,使用静态类过大和复杂,因此无法使用标准的Asp.net会话。更多的问题与我的应用程序的稳定性有关,因为当由于estarna dll中的错误导致池关闭时,所有静态变量都将被释放。Asp.Net静态对象提供可用性

我不知道是否有每个“客户端”打开一个池的设置。所以如果一个用户不摔倒别人。

+2

请澄清一下...静态类太过于流利,而且使用Asp.NET会话又太复杂了么?你面临的具体问题是什么? – Kevin

+0

是一个无法序列化与机器交互的quarda值的类。为此,我无法使用默认的asp.net会话。我使用一个静态类并且运行良好,而且端点只与池的稳定性有关。因为在一个普通的应用程序中,当池关闭时,会话被恢复并准备就绪,就像在我的情况中一样,这个静态对象与池无关。是否有一个项目将这个静态对象与池分开,甚至可以自由访问这个内存? –

回答

0

如果您有一个静态类,则应用程序池中只有一个该类。如果这个类对每个用户有不同的东西,它不应该是静态的。如果该类只包含与特定会话无关的一般信息,并且您不想将其作为实例类,请确保静态类的构造函数中没有引发异常。

+0

科学而不是在我的情况下,我不得不使用这个类作为静态Intent做一台机器。一些用户认为,在我的案例中加入了更多的内容,不稳定性是一般的应用,因为连接exeplo银行在池中给出了一个致命的错误,因此他将这个类静态放弃。 –

0

除了YetAnotherSoftwareDeveloper的回答,应用程序池用于提供一种机制,可用于隔离应用程序出于稳定性和安全性的原因,而不是隔离单个客户机会话。

如果您有一个不稳定的应用程序,可以通过将其隔离在其自己的应用程序池中来避免对其他应用程序产生不利影响。这不会对有问题的应用程序提供任何稳定作用,但会防止它在同一台服务器上崩溃其他应用程序。

+0

是我的问题不是静态类。它是稳定的并且与其他部分没有问题,因为连接到数据库的连接器发生崩溃并关闭池。 –

+0

您正在使用哪些DBMS,以及它在崩溃时抛出什么异常? – Kevin

+0

所以我正在评估是非常不稳定的,调试器告诉我,这是一个在一个变量,导致此意外关闭的锁上的缺陷。使用.NET –