Não é possível quebrar o loop while imediatamente no botão, clique em c # mvc

Eu tenho o método de ação mvc em que enquanto o loop estiver em execução, quero interromper o loop while em outro botão, para manter uma flag e defini-la como false para interromper o loo

bool flag = true;

public async Demo()
{
while(flag == true)
{
do something...
}
}

gora clique no botão Estou chamando um método de ação para interromper o loop while -

    public ActionResult StopLoop()  
    {  
        flag = false;
        Return View("Index")
    }  

Mas está demorando quase um minuto para atingir esteStopLoop depois clique no botão.

porque ? todos podem estar na mesma página da interface do usuário e compartilhar o mesmohomecontroller algum truque que eu possa fazer?

Tenho 2 botões em uma solicitação de botão enquanto o loop é iniciado e eu quero em outro botão clicar em Solicitar parada de loo

questionAnswers(2)

yourAnswerToTheQuestion