Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Die Verwendung von Message-Handlern ist ein typisches Muster in der Softwareentwicklung. Message-Handler werden verwendet, um Nachrichten abzufangen und in einer Pipeline zu verarbeiten. In diesem Artikel werden wir benutzerdefinierte Message-Handler erstellen, die Netzwerkanforderungen filtern und unerwünschte deaktivieren. Sie finden einfache C#-Beispiele für die Anwendung von Message-Handlern für Netzwerkoperationen.
In der Softwaretechnik beziehen sich Netzwerkanfragen auf eine Client-Anwendung, die eine Anfrage über das Netzwerk an einen Server sendet und eine Antwort vom Server erhält. Message-Handler sind eine leistungsfähige Methode, um diese Netzwerkanfragen und -antworten abzufangen und zu verarbeiten.
In diesem Artikel werden Beispiele für das Abfangen von Anfragen, das Blockieren einiger unerwünschter Netzwerkanfragen oder das Ersetzen der URLs durch einen anderen Wert behandelt.
Die Aspose.HTML for .NET-Bibliothek bietet Funktionen, die in Szenarien nützlich sein können, in denen Sie bestimmte Arten von Netzwerkanforderungen in einer HTML-Verarbeitungsanwendung einschränken möchten. Zum Beispiel, wenn Sie mit HTML-Dokumenten arbeiten und sicherstellen wollen, dass nur bestimmte Arten von Ressourcen aus externen Quellen geladen werden. Dieser Code bietet eine Möglichkeit, unerwünschte Netzwerkanfragen herauszufiltern. Er richtet einen NetworkDisabledMessageHandler ein, der nur Anfragen mit den Protokollen “file:”, “about:” oder “base64:” zulässt. Wenn die Anfrage ein anderes Protokoll verwendet, blockiert der Handler sie.
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}Der obige C#-Codeausschnitt erstellt einen Message-Handler, um das Verhalten von Netzwerkanfragen basierend auf ihren Protokollen anzupassen:
NetworkDisabledMessageHandler. Diese Klasse erbt von der Klasse
MessageHandler und überschreibt deren
Invoke() Methode, um Netzwerkoperationen zu behandeln.Dieser benutzerdefinierte Message-Handler kann Netzwerkanfragen in Ihrem .NET-Projekt oder Ihrer Anwendung herausfiltern.
Hier ein Beispiel, wie Sie die Klasse NetworkDisabledMessageHandler verwenden können, um unerwünschte Netzwerkanfragen mit Hilfe der Aspose.HTML-Bibliothek herauszufiltern:
NetworkDisabledMessageHandler durchlaufen. 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);Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.