Choisir sa version
SESAR Webhook existe en deux versions, dont le code de traitement est le même.
| Version | Dépôt | Plateforme |
|---|---|---|
| .NET | SESARWebhookCore | .NET 9 (net9.0-windows), ASP.NET Core, sous Windows |
| .NET Framework | SESARWebhook | .NET Framework 4.7.2, ASP.NET Web API 2, sous IIS |
Privilégiez la version .NET pour tout nouveau déploiement. C'est celle que documente ce centre d'aide, et sa référence .NET est générée depuis son code.
Ce qui ne change pas
Les deux versions partagent :
- le traitement : vérification du
HashKey, déchiffrement du manifeste, choix du connecteur ou du gestionnaire ; - les routes de l'API HTTP, leurs verbes et le corps attendu ;
IWebhookHandler,WebhookHandlerBaseet le chargement des DLL de gestionnaires ;- les connecteurs Système de fichiers, Zoho CRM et Dynamics 365, et l'aide
OAuth2RefreshTokenHelper; - le fichier de secrets
connectors.secrets.json, sa structure et son chiffrement par DPAPI.
Différences
| Sujet | .NET Framework | .NET |
|---|---|---|
| Hébergement | IIS seulement | Kestrel, ou IIS avec le Hosting Bundle ASP.NET Core 9 |
| Construction | nuget restore, puis msbuild |
dotnet build, dotnet publish |
| Configuration | Clés plates dans Web.config : <add key="Connector:filesystem:Enabled" value="true" /> |
Sections JSON dans appsettings.json : "Connector": { "filesystem": { "Enabled": "true" } }, que des variables d'environnement peuvent surcharger |
| Portée DPAPI livrée | LocalMachine dans Web.config |
CurrentUser dans appsettings.json |
| Taille maximale d'une requête | 100 Mo, réglée dans Web.config |
Limite par défaut de Kestrel (30 000 000 octets) ou d'IIS |
| Connecteur SharePoint | API REST de SharePoint : téléverse le manifeste en JSON | Microsoft Graph : téléverse le courriel et les pièces jointes déchiffrés. Voir SharePoint Online |
OAuth2ClientCredentialsHelper.ForSharePoint |
Portée du site SharePoint | Portée de Microsoft Graph |
ApiKeyHelper.InQueryString |
Remplace un paramètre de même nom | Ajoute le paramètre, même s'il existe déjà |
| Erreurs internes | Message masqué au client distant | Message renvoyé dans le corps ({"Error": "..."}) |
| SDK utilisé | SecureExchanges |
SecureExchanges.NetCore |
| Noms des assemblies | SESARWebHook.Core, etc. |
SESARWebHook.Core.NetCore, etc. Les espaces de noms ne changent pas |
Un gestionnaire compilé pour une version ne se charge pas dans l'autre : les assemblies référencées n'ont pas le même nom.
Passer de .NET Framework à .NET
- Hébergement. Installez le runtime ASP.NET Core 9, ou le Hosting Bundle sous IIS, puis publiez l'application avec
dotnet publish. Configurez le HTTPS (liaison IIS ou certificat Kestrel) et, si l'adresse change, mettez-la à jour dans SESAR. Voir Déployer sous Windows. - Configuration. Reportez chaque clé de
Web.configdansappsettings.json, en sections imbriquées, et doublez les barres obliques inverses des chemins. Vérifiez la portée DPAPI :Web.configétait livré enLocalMachine,appsettings.jsonl'est enCurrentUser. - Secrets. Déposez une version en clair de
connectors.secrets.json, tirée de votre coffre de secrets : l'application la chiffre à son démarrage. L'ancien fichier chiffré n'est lisible qu'avec la même machine, la même portée, la même entropie et, enCurrentUser, le même compte. Voir Secrets et DPAPI. - Gestionnaires. Recompilez-les pour
net9.0-windows, contreSESARWebHook.Core.NetCoreetSecureExchanges.NetCore. Retirez toute dépendance àSystem.Webet àConfigurationManager. Revalidez ceux qui utilisentForSharePointouInQueryString. - SharePoint. Le connecteur fonctionne autrement : reprenez sa configuration et testez-le avant la production.
- Réponses d'erreur. Si un système lit les réponses du webhook, vérifiez-le : leur format change.