Я работаю над библиотекой классов, которая получает информацию со стороннего веб-сайта. Доступ к веб-сайту перестанет отвечать, если в течение установленного периода времени (~ 0,5 секунды) будет выполнено слишком много запросов.
Публичные методы моей библиотеки напрямую относятся к ресурсу файл на веб-сервере. Другими словами, каждый раз, когда вызывается метод, HttpWebRequest
создается и отправляется на сервер. Если все идет хорошо, файл XML возвращается вызывающей стороне. Однако, если это второй веб-запрос менее чем за 0,5 с, запрос будет тайм-аут.
Моя дилемма заключается в том, как я должен обрабатывать регулирование запросов (если вообще). Очевидно, я не хочу, чтобы звонящий сидел без дела, ожидая ответа, особенно если я полностью уверен, что его запрос истечет.
Было бы логичнее, чтобы моя библиотека ставила в очередь и ограничивала создаваемые мной веб-запросы, или же моя библиотека просто выдает исключение, если клиент не ждет достаточно долго между вызовами API?