Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Использование обработчиков сообщений – типичная практика разработки программного обеспечения. Обработчики сообщений используются для перехвата и обработки сообщений в конвейерном режиме. В этой статье мы создадим собственные обработчики сообщений, которые фильтруют сетевые запросы и отключают нежелательные. Вы найдете простые примеры C# того, как применять обработчики сообщений для сетевых операций.
В разработке программного обеспечения сетевые запросы относятся к клиентскому приложению, отправляющему запрос серверу по сети и получающему ответ от сервера. Обработчики сообщений – это мощный способ перехвата и обработки сетевых запросов и ответов.
Библиотека Aspose.HTML for .NET предоставляет функциональные возможности, которые могут быть полезны в сценариях, когда вы хотите ограничить определенные типы сетевых запросов в приложении обработки HTML. Например, если вы работаете с HTML-документами и хотите, чтобы из внешних источников загружались только определенные типы ресурсов. Для этого следует создать обработчик сообщений, который будет отфильтровать нежелательные сетевые запросы.
Давайте рассмотрим фрагмент кода C#, который использует библиотеку Aspose.HTML for .NET для работы с HTML-документами и сетевыми операциями. Этот код устанавливает NetworkDisabledMessageHandler, который пропускает только запросы с протоколами file:, base64: и about:. Если запрос использует любой другой протокол, обработчик его блокирует.
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}Приведенный выше фрагмент кода C# создает обработчик сообщений для настройки поведения сетевых запросов на основе их протоколов:
NetworkDisabledMessageHandler, который наследует класс
MessageHandler.file:, base64: и about:. Если это так, код обрабатывает запрос дальше; в противном случае запросы будут автоматически блокироваться.NetworkDisabledMessageHandler полезен для случаев, когда требуется работать с HTML-документами в среде с ограниченным доступом к сети или когда определённые сетевые ресурсы недоступны или нежелательны. Это может быть необходимо:
Вот пример того, как вы можете использовать класс NetworkDisabledMessageHandler для фильтрации нежелательных сетевых запросов:
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);Вы можете скачать полные примеры и файлы данных с GitHub.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.