我有一个在 IIS7 下运行的 Web 应用程序。我将全局变量存储在具有静态变量的类中。该类称为 SessionVariables ,例如,在其中我有以下内容:
public class SessionVariables
{
public static string PreferedColor= "Black";
}
我在另一个页面 AccountSettings.aspx 中设置此变量,其中有一个带有颜色名称的下拉列表。当用户选择一种颜色并单击保存时,这就是正在运行的代码。
protected void btnSave_click(object sender, EventArgs e)
{
SessionVariables.PreferedColor= ddlColorNames.Text;
}
如果应用程序空闲 5 分钟,则 PreferedColor 的静态值始终重置为默认值,因为应用程序池设置正在清除静态值,因为空闲超时(分钟)设置为 5。我从 IIS 应用程序将其更改为 0池和问题消失了,应用程序池不再回收。我想知道此设置是否有任何副作用。