Pasar argumentos en la aplicación de consola con Net 6 y Visual Studio 2022

Si ya has instalado Visual Studio 2022 en tu PC y te has dispuesto a crear una aplicación de consola con .Net 6 tal vez te haya sorprendido el aspecto de la nueva plantilla, que siguiendo con la línea de las «minimal API«, han hecho desaparecer toda la sintaxis a la que estábamos acostumbrados, ahora se va al grano 😉

nuevo aspecto de los programas de consola en Net 6 y Visual Studio 2022

Pero claro, con esto ha desparecido el clásico static void main(string[] args). Entonces, ¿Cómo hacemos si queremos pasar argumentos? Sigue leyendo, que te vas a sorprender.

Sigue leyendo Pasar argumentos en la aplicación de consola con Net 6 y Visual Studio 2022

Pasar un número variable de parámetros en C#

Estamos en verano, y esto se nota en el blog. El ritmo de actualización ha bajado mucho, es cierto, pero también es cierto que genero mas contenido además del publicado en el blog, cosa que hace un año no era así. Aprovecho pues para recordarte que puedes seguir mi contenido en Twitch y en Youtube.

Dicho esto, vamos con una pequeña píldora. El otro día aprendí una nueva característica, posiblemente muy básica, de primero se podría decir, pero que yo por el motivo que fuese, desconocía. Y es la posibilidad de pasar un numero variable de parámetros a una función en C#.

Es posible que tengamos la necesidad de pasar un número variable de parámetros a una función, para ello podríamos pasar un listado o un array, pero también tenemos la palabra reservada params.

Para mostrar esta funcionalidad, un pequeño ejemplo. En este trozo de código tenemos una función recibe un número indeterminado de palabras, que simplemente junta para mostrar una frase:

static void Main(string[] args)
{
     MuestraFrase("Hola", "esto", "es", "una", "prueba"); 
}

public static void MuestraFrase(params string[] palabras)
{
     Console.WriteLine(string.Join(" ", palabras));
     Console.ReadLine();
}

El resultado de ejecutar el código anterior será:

Resultado de ejecutar el código de pasar un número variable de argumentos

Para poder usar esta funcionalidad solo hay que tener en cuenta un par de cosas:

  1. Se pueden pasar parámetros adicionales a la función, pero el declarado como params ha de ser el último dentro del método.
  2. El parámetro declarado como params ha de ser un array unidimensional

Hasta aquí esta pequeña píldora de verano, espero que te sea de utilidad.

¡Nos leemos!

Nombres de los recursos en Azure

ejemplo de convención de nombres de los recursos en Azure

En naming en desarrollo es importantísimo. Cuando empecé en esto, recuerdo «discusiones» en el equipo que podían durar 10-15 minutos para elegir el nombre de un método o una variable. «Mi no entender» pensaba, si solo es un nombre. ¡Que equivocado estaba! Yo venia de estudiar y de usar variables llamadas «aux, aux2, sum», etc.

Para tener una consistencia dentro de un mismo proyecto basado en Azure, es necesario establecer una convención de nombres para los recursos de Azure en la que apoyarnos a la hora de crearlos. Ya sabes como moverte por el portal de Azure para crear estos recursos, ahora debes ponerles un buen nombre.

Pueden existir muchas estrategias a la hora de elegir la convención adecuada, y todo dependerá del proyecto en el que trabajes y del equipo con el que colabores, pero aquí expongo mi propuesta.

Para poner un nombre a los recursos de Azure, podemos basarnos en los siguientes parámetros:

Sigue leyendo Nombres de los recursos en Azure

Yield Return: que es y como usarlo

Hoy os quiero traer una pequeña píldora con el uso de yield return en C#. Usándolo, estamos indicando que el método es un iterador. Pero, ¿esto que quiere decir?

Veámoslo con un ejemplo, leed el siguiente código. Sin conocer el uso de yield return, a priori el método DameInts() sería imposible, ya que entraríamos en un bucle infinito. Tomate un segundo y ejecútalo, a ver que pasa.

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Hello World!");
            var resultado = DameInts();
            foreach (var a in resultado)
                Console.WriteLine(a);
        }

        public static IEnumerable<int> DameInts()
        {
            int i = 0;
            while (true)
            {
                yield return ++i;
                System.Threading.Thread.Sleep(1000);
            }
        }

    }
}
Sigue leyendo Yield Return: que es y como usarlo

Portal Azure: Las claves para dominarlo

Empezar en Azure puede ser abrumador y el punto de entrada a este nuevo y maravilloso mundo es el portal de Azure. En este artículo veremos como funciona y como entenderlo.

Página principal

Una vez te has dado de alta en Azure y te dispones a empezar, lo primero que te encuentras al acceder al portal de Azure es su pantalla principal. No te asustes, vamos a ver que es todo lo que nos muestra y como navegar y usar el portal.

Imagen de la página principal de portal azure
Página principal del Portal de Azure

En la parte central de la pantalla (3 y 4) se puede ver un resumen de los últimos servicios que se han visitado (4), si es la primera vez que entras, estará vacío y unos cuantos accesos directos para crear algunos de los servicios más comunes (3).

En la barra de la cabecera se encuentra un buscador, maravilloso por cierto. Cuando introduces un termino de búsqueda, aparecen resultados sobre los distintos servicios que ofrece Azure, sobre los recursos creados por ti o sobre la documentación. Todo en un único punto centralizado.

A continuación puedes ver los iconos para acceder al Shell propio que incluye el portal Azure, al filtro de suscripciones (que veremos mas adelante), el centro de notificaciones y las opciones (5). Finalmente te encontrarás con la gestión del usuario conectado, similar al de cualquier portal web (6). Este punto esta muy conseguido, ya que puedes gestionar varias cuentas distintas y es muy sencillo cambiar de una a otra.

Desde la sección de configuración puedes cambiar el idioma o el tema del portal, entre otras cosas.

Sigue leyendo Portal Azure: Las claves para dominarlo

Como forzar navegación HTTPS con Azure CDN

Si tienes una página web detrás de un Azure CDN y quieres forzar que toda la navegación de tu web se realice siempre con protocolo HTTPS, has de crear una redirección desde la sección de «Rules engine«. En esta pequeña píldora, te explico como hacerlo.

Sigue leyendo Como forzar navegación HTTPS con Azure CDN

Forzar la re-instalación de todos los paquetes Nuget en Visual Studio

Hola, hoy vengo con una pequeña píldora. Me ha pasado a veces que al abrir un proyecto o al cambiar ciertas cosas de este, como por ejemplo en namespace, de pronto todo deja de compilar, como si no estuvieran los paquetes nuget instados. Pero si vas a Nuget, ahi esta todo, como si la cosa no fuese con el.

Para solucionar esto y reinstalar todos los paquetes de golpe y sin necesidad de tener que actualizarlos sólo tenemos abrir la consola de paquetes (Package Manager Console) en Visual Studio:

Y lanzar el siguiente comando:

Update-Package -reinstall

O para forzarlo sobre un proyecto concreto

Update-Package -reinstall -Project {nombre_del_proyecto}

Como servir páginas estáticas desde Azure Storage

Después de mucho tiempo recupero el formato vídeo, un formato que me apetece mucho, pero que me cuesta… a ver si haciendo pequeñas píldoras va saliendo mejor.

En este vídeo, explico como usar Azure Blob Storage para almacenar y servir páginas web estáticas. ¡Imaginaos lo bajos que pueden ser los costes!

Espero que os guste.

Nuevo tema oscuro (dark) en Azure DevOps

En la nueva actualización del sprint 150 de Azure DevOps, han lanzado un nuevo tema oscuro (dark) para Azure DevOps, una cambio que puede parecer menor (solo es visual), pero que agradeceremos los que estamos acostumbrados a trabajar con el tema oscuro de Visual Studio.

Activarlo es muy sencillo, solo hay que ir a las opciones de usuario y seleccionar el tema:

¡Nos leemos!

Como obtener las direcciones IP de salida en un APP Service Plan de Azure

Una nueva píldora. Muchas de las cosas que pongo en el blog, son temas con los que he tenido que lidiar y el hecho de escribirlos aquí me permite tener una pequeña chuleta de la que poder titar en caso de necesidad. Hoy he necesitado saber las IP de salida de un app service, y así es como lo he podido saber.

Cada app service tiene un numero de IP’s asignadas, que ademas no puedes conocer con antelación cual de ellas se va a usar, por lo que si necesitas las IP por ejemplo para dejarlas pasar por un firewall, tendrás que añadir todas las que tiene el app service asignadas. 

Sigue leyendo Como obtener las direcciones IP de salida en un APP Service Plan de Azure