web-dev-qa-db-fra.com

Nouveau projet Azure WebJob - JobHostConfiguration / RunAndBlock manquant après les mises à jour de NuGet

Réplication facile

  1. Créez un nouveau projet 'Application Web ASP.NET (.NET Framework).
  2. Build compile, update NuGet, all works.
  3. Ajouter: ajoutez un nouveau projet Azure WebJob.
  4. Construisez, compilez. Content
  5. Mettez à jour NuGet pour le projet WebJob.
  6. Le projet ne se compile plus.

Des changements de rupture ont été introduits https://github.com/Azure/app-service-announcements/issues/129

Donc j'installe

Microsoft.Azure.WebJobs.Extensions.Storage

Cela résout QueueTriggerAttribute

Mais dans program.cs

    static void Main()
    {
        var config = new JobHostConfiguration();

        if (config.IsDevelopment)
            config.UseDevelopmentSettings();

        var Host = new JobHost(config);
        Host.RunAndBlock();
    }

Je rencontre les problèmes suivants:

  1. JobHostConfiguration est maintenant manquant.
  2. Le constructeur JobHost a maintenant deux paramètres, dont un nouveau IJobHostContextFactory?
  3. RunAndBlock est manquant. C'est maintenant "StartAsync"
  4. Le code doit maintenant devenir asynchrone car il n'y a pas d'appels synchrones au travail.

Des questions:

  1. Quels assemblages supplémentaires doivent être installés?
  2. Qu'est-ce que ce nouveau JobHostContextFactory?
  3. Comment puis-je configurer le travail maintenant?
  4. Comment dois-je mettre à jour le code pour asynchrone?
  5. Comment puis-je bloquer pour un travail continu maintenant que tout ce que nous avons est Start?

Merci d'avance!

  • C #
  • .Net Framework 4.6.2
  • Visual Studio 2017 - v15.8.7
10
Phillip Davis

La mise à jour 3.0.0 du package NuGet (non bêta) a apporté des changements de rupture. Il est basé sur l'hôte générique qui est similaire à l'hôte asp.net. Voici un exemple de la nouvelle configuration

Ici vous pouvez trouver un discussion GitHub lié à ce sujet.

7
Alexey Strakh