Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
L’utilisation de gestionnaires de messages est un modèle typique dans le développement de logiciels. Les gestionnaires de messages sont utilisés pour intercepter et traiter les messages dans un pipeline. Dans cet article, nous allons créer des gestionnaires de messages personnalisés qui filtrent les demandes de réseau et désactivent celles qui sont indésirables. Vous trouverez des exemples simples en C# sur la façon d’appliquer les gestionnaires de messages pour les opérations réseau.
Dans le domaine du génie logiciel, les requêtes réseau font référence à une application client qui envoie une requête à un serveur via le réseau et qui reçoit une réponse du serveur. Les gestionnaires de messages constituent un moyen puissant d’intercepter et de traiter ces demandes et réponses réseau Cet article présente des exemples d’interception de requêtes, de blocage de certaines requêtes réseau indésirables ou de remplacement des URL par d’autres valeurs.
La bibliothèque Aspose.HTML for .NET offre des fonctionnalités qui peuvent s’avérer utiles dans les scénarios où vous souhaitez restreindre certains types de requêtes réseau dans une application de traitement HTML. Par exemple, si vous travaillez avec des documents HTML et que vous voulez vous assurer que seuls certains types de ressources sont chargés à partir de sources externes. Ce code permet de filtrer les requêtes réseau indésirables. Il met en place un NetworkDisabledMessageHandler qui n’autorise que les requêtes utilisant les protocoles “file :”, “about :” ou “base64 :”. Si la requête utilise un autre protocole, le gestionnaire la bloque.
1// Disable external network access while allowing local and embedded resources
2
3// Define the NetworkDisabledMessageHandler class that is derived from the MessageHandler class
4public class NetworkDisabledMessageHandler : MessageHandler
5{
6 // Override the Invoke() method
7 public override void Invoke(INetworkOperationContext context)
8 {
9 if (context.Request.RequestUri.Protocol == "file:" ||
10 context.Request.RequestUri.Protocol == "base64:" ||
11 context.Request.RequestUri.Protocol == "about:")
12 Next(context);
13 }
14}L’extrait de code C# ci-dessus crée un gestionnaire de messages pour personnaliser le comportement des demandes de réseau en fonction de leurs protocoles :
NetworkDisabledMessageHandler. Cette classe hérite de la classe
MessageHandler et surcharge sa méthode
Invoke() pour gérer les opérations réseau.Ce gestionnaire de messages personnalisé peut filtrer les demandes de réseau dans votre projet ou application .NET.
Voici un exemple de la façon dont vous pouvez utiliser la classe NetworkDisabledMessageHandler pour filtrer les requêtes réseau indésirables à l’aide de la bibliothèque Aspose.HTML :
NetworkDisabledMessageHandler. 1// Disable network requests when loading HTML
2
3// Create an instance of the Configuration class
4using Configuration configuration = new Configuration();
5
6// Call the INetworkService which contains the functionality for managing network operations
7INetworkService network = configuration.GetService<INetworkService>();
8
9// Add the NetworkDisabledMessageHandler to the top of existing message handler chain
10network.MessageHandlers.Insert(0, new NetworkDisabledMessageHandler());
11
12// Prepare path to a source document file
13string documentPath = Path.Combine(DataDir, "document.html");
14
15// Create an HTML document with a custom configuration
16using HTMLDocument document = new HTMLDocument(documentPath, configuration);Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.