ASP.NET C # Las variables estáticas son globales?

Hoy lancé una pequeña aplicación web beta de asp.net que permite al personal interno modificar cierta información del producto. Comenzamos a encontrarnos con problemas en los que los usuarios sobrescribían la información del producto de los demás ... aunque cada miembro del personal estaba editando una fila totalmente diferente (Producto).

Después de algunas búsquedas en Google, creo que sé lo que está pasando, tiene que ver con el uso de variables estáticas, a continuación se muestra un ejemplo rápido del problema:

// EditProductGroup.aspx.cs
public partial class EditProductGroup : System.Web.UI.Page
{

    private static int _groupId = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
      _groupId = Convert.ToInt16(Request.QueryString["GroupID"]);

     // get existing ProductGroup information from database using 
     //_groupId to find the row and populate textboxes
    }

    private void saveProductGroupData()
    {
      // when user hits 'save changes' button, update row 
      //where the primary key column 'ProductGroupID' matches _groupId in the table
    }
}

Por lo tanto, según mi investigación, existe una variable estática para la aplicación en su totalidad, lo que significa que si varios usuarios están usando la aplicación, todos leerán efectivamente el mismo 'valor' para '_groupId' y, en algunos casos, configurarán a un valor diferente que hace que la instancia de otro usuario de la página guarde los datos en la fila incorrecta (ProductGroupId).

Mi intención era que la variable estática esté aislada de otros usuarios, y no debería integrarse; cada usuario tiene su propia instancia de la página, por lo tanto, su propia instancia de la variable '_groupId'.

Afortunadamente, todo se estaba llevando a cabo en una base de datos de desarrollo / desarrollo no en la base de datos en vivo. No estoy seguro de si solo necesito dejar la palabra clave 'estática' para evitar que todos establezcan / lean la variable.

¿Alguna idea? Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta