#Windows10 – UWP Community Toolkit 1.2. Lo mejor, connection pooling en HttpRequests !

Hola !

Hace unos meses escribí sobre UWP Community Toolkit, como un excelente set de assets que nos pueden ayudar si estamos desarrollando UWP Apps. Pues bien, hace un par de días, se liberó una nueva versión que tiene bastantes novedades, el post completo en Windows Developer las comenta a todas. En particular yo destaco

Un nuevo helper para realizar peticiones HTTP, HttpHelper. Nos simplifica mucho el código cuando realizamos peticiones de este tipo. Por ejemplo

using (var request = new HttpHelperRequest(new Uri(twitterUrl), HttpMethod.Post))
 {
   using (var response = await HttpHelper.Instance.SendRequestAsync(request))
   {
     return await response.GetTextResultAsync();
   }
 }

Lo más interesante de este helper, es que internamente implementa un pooling de conexiones para nuestras llamadas http. Hace un tiempo leí un artículo donde, en pocas palabras, te cortaban los dedos si utilizabas una HttpClient como si fuese una DataBase connection.

El problema es que es muy tentador utilizar HttpClient de la siguiente forma, aunque por la naturaleza de HttpClient, cada instancia que esté dentro del using() abrirá una nueva conexión y en un sistema que requiera muchas conexiones, podemos encontrarnos con errores rápidamente. El amigo, Simon Timms, lo explica muy bien aquí (link).

using(var client = new HttpClient())
{
  //do something with http client
}

 

Pues bien, el helper HTTP de UWP Community Toolkit 1.2, trae implementado de fábrica el pool de conexiones, con algo tan simple como un Singleton para la conexión Http. Solo con esto, ya vale la pena probar este toolkit.

Happy coding 😀

Saludos @ Toronto

El Bruno

References

Advertisements

2 thoughts on “#Windows10 – UWP Community Toolkit 1.2. Lo mejor, connection pooling en HttpRequests !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s