Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come eseguire una stored procedure SQL Server in modo asincrono e assicurarne il completamento

Guarda C# Task Parallel Library. Puoi creare un'attività molto semplice. Ad esempio...

    Task myTask= new Task(() => {
        Console.WriteLine(@"hello");
        //Call stored procedure here
    });
    myTask.start();

Questo eseguirà il codice racchiuso nell'attività in parallelo con il thread principale. Se desideri verificare che l'attività sia completata, puoi utilizzare

    if(myTask.IsCompleted())
    {
        Console.WriteLine(@"My task is finished");
    }

Questo metodo evita di alterare la stored procedure e consente a C# di gestire le prestazioni.

Modifica:-E per evitare che il filo principale finisca prima aggiungi

    Task.WaitAll(myTask);

Questo sospenderà il thread principale fino al completamento dell'attività.