#Windows10 – UWP Community Toolkit 1.2. With connection pooling support for HttpRequests !

Hello!

A few months ago I wrote about the UWP Community Toolkit, as an excellent set of assets that can help us if we are developing UWP Apps. A couple of days ago, a new version was released and it has quite a few new features. You can read the full post in the Windows Developer Blog.I really like this one:

A new helper to perform HTTP Requests, HttpHelper. It greatly simplifies us the code when we make requests of this type. For example

 

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

The most interesting thing about this helper is that internally implements a pooling of connections for our calls HTTP. Some time ago I read an article where, in a nutshell, cut you your fingers if you were using an HttpClient as if it were a DataBase connection.

The problem is that it is very tempting to use HttpClient follows, although by the nature of HttpClient, each instance that is within the using() will open a new connection, and in a system that requires many connections, we can find errors quickly. The friend, Simon Timms, explains it very well here (link).

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

Since well, the HTTP helper of UWP Community Toolkit 1.2, brings implemented factory pool of connections, with something as simple as a Singleton for the connection Http only with this, already worth try this toolkit.

Happy coding 😀

Saludos @ Toronto

El Bruno

References

Advertisements

#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