Partager via


Accès aux services web externes

Les plug-ins et activités de workflow personnalisées peuvent accéder au réseau via les protocoles HTTP et HTTPS. Cette fonctionnalité permet l’accès aux services web populaires comme les sites sociaux, les fils d’actualités, les services Web, etc. Les restrictions d’accès web suivantes s’appliquent à cette fonctionnalité de bac à sable.

D’autres méthodes d’accès aux services web comprennent l’utilisation de webhooks et du Azure Service Bus. Reportez-vous aux liens ci-dessous pour plus d’informations sur ces rubriques.

Comment accéder aux services web externes

De nos jours, la plupart des utilisateurs connaissent System.Net.Http.HttpClient Class. HttpClient a été introduit avec .NET 4.5 et offre des fonctions importantes sur System.Net.WebClient Class qui sont toujours disponibles.

Pour les nouveaux plug-ins, vous devez utiliser HttpClient car l’équipe .NET vous déconseille le client Web pour un nouveau développement. Toutefois, cela ne signifie pas que vous devez remplacer toutes les utilisations de code héritées de WebClient que vous trouvez. La plupart des avantages fournis dans HttpClient ne figurent pas forcément dans un plug-in. HttpClient est conçu pour être réutilisé et est asynchrone par défaut. Sauf si vous effectuez plusieurs requêtes HTTP dans votre plug-in, WebClient est conçu pour une seule demande. Comme HttpClient est asynchrone par défaut, vous devez arrêter d’utiliser des modèles classiques et ajouter du code pour forcer les opérations à s’effectuer de manière synchrone, généralement en supprimant le mot clé await et en ajoutant .GetAwaiter().GetResult() à tous les appels asynchrone.

WebClient fournit des méthodes synchrones simples, telles que UploadData, DownloadFile qui n’exposent pas clairement la méthode HTTP sous-jacente utilisée, mais elles peuvent être définies à l’aide de remplacements spécifiques tels que UploadString(String, String, String) au cas où vous voudriez utiliser PATCH à la place de POST.

En dehors des plug-ins, vous allez la plupart du temps utiliser HttpClient. Dans des plug-ins, vous pouvez également utiliser WebClient si vous le souhaitez.

Conseils

Comme indiqué dans les rubriques de meilleures pratiques suivantes :

Vous devez définir une période de Timeout appropriée pour vos appels externes et désactiver KeepAlive. Consultez les liens ci-dessus pour en savoir plus.

Voir aussi

Plug-ins
Extensions de workflow
Intégration Azure
Utiliser des webhooks
Exemple : Accès Web d’un plug-in placé dans le bac à sable

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).