Me estoy metiendo en un bucle infinito en el establecedor de propiedades

public int Position
{
    get
    {
        if (Session["Position"] != null)
        {
            Position = Convert.ToInt32(Session["Position"]);
        }
        else
        {
            Position = 5;
        }
        return Position;
    }
    set
    {
        Position = value;
    }
}

mi programa llama al comando get y entra en el bucle if y luego se ejecuta infíticamente en el código establecido

Respuestas a la pregunta(4)

Su respuesta a la pregunta