Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

379
Visualizações
¿Debe RestClient ser único o nuevo para cada solicitud?

ASP.Net HttpClient es desechable, y muchos artículos dicen que debe usar el patrón singleton para usarlo debido al rendimiento. Pero cuando veo el RestClient , no se puede desechar, y en la página de uso recomendado, la muestra mostrará el RestClient new cada vez. ¿Debo usar el patrón singleton para RestClient o debo new cada vez? Si lo new cada vez, ¿habrá algún problema de rendimiento?

RestSharp GitHub

Algunas referencias:

¿Se deben eliminar HttpClient y HttpClientHandler?

ESTÁS UTILIZANDO MAL HTTPCLIENT Y ESTÁS DESESTABILIZANDO TU SOFTWARE

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

¿Debo usar el patrón singleton para RestClient o debo actualizarlo cada vez, si lo actualizo cada vez, habrá algún problema de rendimiento?

La forma recomendada de usar RestSharp es crear una nueva instancia por solicitud.

Se diferencia del enfoque Singleton recomendado para HttpClient . Y la razón es que, bajo el capó RestSharp usa HttpWebRequest para la interacción HTTP, no HttpClient . Es por eso que el modelo de uso difiere.

Si lo creo cada vez, ¿tengo problemas de rendimiento como HttpClient?

La razón principal por la que no debe crear una nueva instancia de HttpClient para cada solicitud no es una consideración de rendimiento. El tiempo dedicado a la creación e inicialización tomará una pequeña fracción del tiempo dedicado a la siguiente llamada de red. La razón principal para usar la instancia singleton de HttpClient es la siguiente :

HttpClient está diseñado para ser instanciado una vez y reutilizado a lo largo de la vida de una aplicación. Crear instancias de una clase HttpClient para cada solicitud agotará la cantidad de sockets disponibles bajo cargas pesadas. Esto dará como resultado errores de SocketException.

RestSharp no usa el grupo de conexiones como HttpClient y no deja sockets abiertos después del uso. Por eso es seguro (y recomendado) crear una nueva instancia de RestClient por solicitud.

¿Obtendrá alguna mejora en el rendimiento si utiliza la instancia de reutilización de RestClient ? Bueno, ahorrará tiempo para la creación del objeto y su inicialización. Sin embargo, este tiempo está muy cerca de 0 y, además, es una pequeña fracción del tiempo empleado para seguir la llamada de la red. No reutiliza otros objetos .NET como List<T> debido a consideraciones de rendimiento, ¿verdad? Debe hacer lo mismo para RestClient . Simplemente se desarrolló de una manera que implica tal escenario de uso.

over 4 years ago · Santiago Trujillo Relatório

0

A partir de la versión v107 , debe crear solo una instancia. Esta versión usa HttpClient internamente.

No cree una instancia de RestClient para cada llamada HTTP. RestSharp crea una nueva instancia de HttpClient internamente, y obtendrá muchas conexiones colgantes y eventualmente agotará el grupo de conexiones.

Si usa un contenedor de inyección de dependencia, registre su cliente de API como singleton.

Si se pregunta por qué es así, puede ver la explicación aquí .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda