我有一个应用程序使用太大且复杂的静态类,因此无法使用标准的 Asp.net 会话。更多 telho 问题与我的应用程序的稳定性有关,因为当池因 estarna dll 中的错误而关闭时,所有静态变量都会被释放。
我想知道是否有一个设置为每个“客户端”打开一个池。因此,如果一个用户没有摔倒,就会撞到其他人。
如果您有一个静态类,那么应用程序池中只有一个该类。如果这个类对每个用户都有不同的东西,它不应该是静态的。如果该类仅包含与特定会话无关的一般信息,并且您不想使其成为实例类,那么请确保在静态类的构造函数中没有抛出异常。
除了 YetAnotherSoftwareDeveloper 的回答之外,应用程序池还用于提供一种机制,该机制可用于出于稳定性和安全原因隔离应用程序,而不是隔离单个客户端会话。
如果您有一个不稳定的应用程序,您可以通过将其隔离在自己的应用程序池中来防止它对其他应用程序产生不利影响。这不会对有问题的应用程序提供任何稳定效果,但会防止它使同一服务器上的其他应用程序崩溃。