J'ai créé une application de console .NET CORE et l'ai chargée en tant que travail Web en mode continu dans une application Azure (ASP.NET Core). Avec webjob en cours d'exécution, webapp est très lent à répondre à la demande de l'API (le temps de la demande augmente à quelques secondes).Webjob est à l'origine d'un problème de performances avec le cœur ASP.NET
Code WebJob
static void Main(string[] args)
{
queueClient.RegisterMessageHandler(
async (message, token) =>
{
// Process the message
// Complete the message so that it is not received again.
// This can be done only if the queueClient is opened in ReceiveMode.PeekLock mode.
await queueClient.CompleteAsync(message.SystemProperties.LockToken);
},
new MessageHandlerOptions(exce => {
return Task.CompletedTask;
})
{ MaxConcurrentCalls = 1, AutoComplete = false });
//Console.ReadKey();
while (true) ;
}
Et le traitement de l'opération de message prend quelques secondes.
Je suppose que ce code est valable pour .Net cadre complet, de base .NET ne avoir le support de WebJob SDK encore. Votre réponse basée sur WebJob SDK semble être. Avec .NET Core, nous devons tout gérer manuellement. – tssutha
La version 3.0 bêta est compatible avec Net Standard 2.0, donc cela devrait fonctionner. – juunas
Je vais jeter un coup d'oeil, je n'ai pas encore mis à jour l'application .Net Core 2.0, comme nous l'avons expérimenté, nous rencontrons quelques problèmes EF core 2.0, en attendant que les bugs soient corrigés. – tssutha