Convertir des documents sur un serveur hors ligne en C#
DocToolkit n'accède pas au réseau, sauf si vous le lui demandez. Ce guide couvre ce qu'il ignore, comment l'option à activer est contrôlée, et comment voir une récupération refusée, sinon silencieuse.
Aucun socket par défaut
- Par défaut, aucune conversion n'ouvre de socket.
- Un
<link rel="stylesheet">n'est pas récupéré. Un<img src>qui pointe vers une URL est écarté, pas téléchargé. - Ce n'est pas un réglage par défaut qui pourrait dériver. C'est l'absence de tout chemin sortant, hormis un unique chargeur protégé.
- 40 tests air-gap prouvent qu'aucune E/S réseau n'a lieu à l'exécution.
Activer les images distantes
- Vous pouvez les activer appel par appel ou via
DocToolkitOptions. - La protection est une liste d'autorisation, vérifiée avant toute tentative de connexion.
- Une vérification d'adresse suit. Elle refuse le loopback, le link-local et toutes les plages privées.
Une récupération refusée est silencieuse
- Une récupération refusée est silencieuse : l'image est ignorée et votre document est quand même généré avec succès.
- Seule la récupération d'images distantes, sur activation, est instrumentée, avec un
ActivitySourceet unMeter, tous deux nommésAnk.DocToolkit. - Le compteur
doctoolkit.remote_image.fetchescompte les tentatives par résultat :ok,scheme_refused,host_not_allowed,blocked_address,http_error,too_largeetfailed. - Si des images manquent silencieusement dans votre résultat,
host_not_allowedetblocked_addresssont les deux compteurs qui vous disent pourquoi. - Seul l'hôte est enregistré, jamais l'URL, car une chaîne de requête contient couramment un jeton signé.
Ce qu'il ne fait pas
- Les images distantes sont la seule option à activer. Le hors ligne est le comportement par défaut partout.
- Sur un hôte air-gap, chaque image distante est ignorée de cette façon, donc une image manquante y est attendue.
Installation
dotnet add package Ank.DocToolkitLe lire dans la documentation de DocToolkitNuGetGitHub