ASP.NET中的用户特定变量

时间:2014-06-11 04:40:20

标签: c# asp.net static webforms

我是一名进入网络开发的Windows Forms人。在我的所有其他程序中,我将创建一个静态类来保存程序范围的变量,例如

public static class GlobalVariables
{
public static DateTime expDate;
public static DateTime quoteDate; 
public static decimal discountTotal1 = 0;
public static decimal discountTotal2 = 0;
public static decimal discountTotal3 = 0;
public static decimal finalTotal;
public static decimal netWeight;
public static decimal qlWeight;
public static decimal runningTotal;
public static decimal workingTotal;
}

我的一位专业网站开发人员表示,当多个用户使用我的网络应用程序时,所有这些变量都会被覆盖。

他是对的吗?如果是这样的话?如何使这些变量特定于用户?

1 个答案:

答案 0 :(得分:2)

在Web应用程序中,如果您想要全局变量,请使用Session个变量。 例如:Session["discountTotal1"] = 0;这些会话变量是特定于用户的。

静态变量范围是应用程序范围,将在所有用户之间共享。您需要使用Session来存储每个用户,因此可以在所有页面中访问它。另一方面,如果您只是在特定页面上需要它,您可以将其保存在ViewState中,并可以在回发中获取它。