Tras ejecutar un proceso desde nuestra aplicación en C#, podemos necesitar capturar la salida estándar y de errores, siendo a veces poco intuitivo el hacerlo de una forma adecuada, pero necesario no obstante dado que ejecutamos un proceso ajeno a nuestra aplicación, muchas veces de terceros, del cual no tenemos control interno de lo que […]
C#
Compilar proyecto con referencias de 32 y 64 bits en Visual Studio
Visual Studio nos permite compilar en 32 y 64 bits un proyecto indistintamente, sin embargo no permite indicar la ruta donde las referencias de librerías (dll) de terceros deben cargarse en cada caso, por tanto, cuando se selecciona la arquitectura de la plataforma destino a compilar, siempre buscará la referencia en la ruta indicada para […]
Consumir un Web Service a traves de proxy con C#
Vamos a explicar como consumir un Servicio Web o Web Service a traves de proxy, es decir, nuestra aplicación tiene que conectarse a un servicio web que no está en nuestro servidor y además, salimos a internet a través de un proxy. Normalmente si intentamos añadir el web service a nuestro proyecto (para comprender que […]
Capturar todas las excepciones con c#
Cuando se produce una excepción en tiempo de ejecución, podemos querer capturar todas las excepciones existentes para meterlas en un fichero de log que mas tarde revisariamos. Porque decimos capturar todas las excepciones y no la excepcion a secas? Porque en .NET las excepciones pueden provenir de una excepción anterior, una especie de jerarquía, de […]
Quitar espacios de una cadena con C#
Para quitar espacios de una cadena, en caso de que sean espacios extra o de mas, usaremos una función con un bucle while. Si tuvieramos un texto con mas de 1 espacio entre palabras, a causa de un formato incorrecto, simplemente tendremos que crear una función de c# que reemplace esos espacios extra por uno […]
Convertir XML a CSV con C#
Hay diversas formas de convertir xml a csv pero aquí vamos a tratar una como mero ejercicio para aprender a reocorrer un XML recuperando sus valores de una forma rápida. Pongamos que tenemos un xml que nos indicase el numero de nodos hijos, como este: <personas> <total>3</total> <persona1> <nombre>Fulano</nombre> <edad>20</edad> </persona1> <persona2> <nombre>Mengano</nombre> <edad>30</edad> </persona2> <persona3> […]
Sincronizar un servicio
Vamos a explicar como sincronizar un servicio de .NET con el minutero oficial. Cuando creamos un servicio, normalmente le incorporamos un «reloj» (timer) interno para que sus ciclos de ejecución sean cada 30 o 60 segundos, repitiendo su proceso inicial en estos intervalos. Por tanto cuando se arranca el servicio, ya sea manual o automáticamente, […]
Como escapar llaves en string.format con c#
Vamos a explicar como escapar llaves en String.Format con C#. Una función que solemos usar a menudo es String.Format, para darle formato a cadenas y meter valores de forma ordenada dentro de un String. Estos valores se pasan como parámetro a la función, siguiendo el orden designado y la función de ,NET los sustituye dentro […]
Leer y recorrer un fichero linea a linea con C#
Para leer y recorrer un fichero línea a línea desde c# tenemos múltiples maneras usando la librería System.IO. Una forma no muy eficiente pero muy simple y rápida de obtener todo el contenido de un fichero sería usar System.IO.File.ReadAllText Después bastaría con crear un array de strings por cada línea y recorrerlo. Este método es […]
Recuperar valor numérico con AppSettings.
Mediante la funcionalidad del gestor de configuraciones, podemos generar un archivo App.config en nuestro proyecto que nos permita almacenar valores de configuración en una estructura XML. Dichos valores posteriormente serán fácilmente recuperables mediante el empleo de ConfigurationManager.AppSettings. Aqui tendriamos un ejemplo de uso: using System.Configuration; public class Ejemplo { public Ejemplo() { string valorA = […]