Estoy trabajando en una biblioteca de clases que recupera información de un sitio web de terceros. El sitio web al que se accede dejará de responder si se realizan demasiadas solicitudes dentro de un período de tiempo establecido (~ 0,5 segundos).¿De quién es la responsabilidad de restringir las solicitudes web?
Los métodos públicos de mi biblioteca se relacionan directamente con un recurso y un archivo en el servidor web. En otras palabras, cada vez que se llama a un método, se crea un HttpWebRequest
y se envía al servidor. Si todo va bien, se devuelve un archivo XML a la persona que llama. Sin embargo, si esta es la segunda solicitud web en menos de 0.5 s, la solicitud será expirada.
Mi dilema radica en cómo debo manejar la aceleración de solicitudes (si es que lo hago). Obviamente, no quiero que la persona que llama se quede esperando una respuesta, especialmente si estoy completamente seguro de que su solicitud expirará.
tendría más sentido para mi biblioteca para hacer cola y estrangular los webrequests he creado, o si mi biblioteca simplemente lanzar una excepción si el cliente no espera el tiempo suficiente entre las llamadas a la API?
Justin. Es el sitio web al que está accediendo el suyo o un tercero. Mis comentarios de "Buen Ciudadano" se basaron en que es un tercero, pero otros parecen haber asumido que es su sitio. – Andiih
El sitio es de hecho un sitio de terceros. Gracias por señalar que no había especificado eso. He actualizado mi pregunta para aclarar. –