WeakReference en C#

¡Hola!
Hoy vamos a ver cómo podemos utilizar la clase WeakReference para obtener referencias débiles de nuestros objetos. Vamos a ver qué son las referencias fuertes y débiles, algunas cosas sobre el recolector de basura y cómo afecta a nuestras referencias. Antes que nada quiero avisar que es posible que algún concepto no sea correcto del todo pero en conjunto creo que es una visión más o menos válida. Sin más preámbulos, ¡vamos allá! Continúa leyendo WeakReference en C#

Deserializar propiedades JSON dentro de un JSON

¡Hola!
El otro día se dio el caso de que tuve que deserializar un JSON dentro de un JSON, es decir, dado un JSON, una de las propiedades es un string que contiene otro JSON. No tiene pinta de que sea una gran forma de crear JSON, pero cuando se da el caso hay que deserializarlos 🙂
Continúa leyendo Deserializar propiedades JSON dentro de un JSON

Ninject. Crear factorías III

¡Hola!
Después de dar un repaso general a las diferentes características de las factorías de Ninject (aquí y aquí), vamos a ver un caso que se acerca más al mundo real. Vamos a ver cómo crear una factoría para generar comandos basado en el nombre del tipo del comando concreto. ¿Suena un poco lioso? Es muy sencillo, lo vemos a continuación.
Continúa leyendo Ninject. Crear factorías III

Navigation properties null en Entity Framework

¡Hola!

Hoy me encontré un problema con EF en el que algunas propiedades de navegación se quedan null estando marcadas como virtual. El caso era algo así (lo vamos a simplificar):

public class MultilingualString : Entity
{
	public string DefaultText { get; set; }
 
        //ESTA ES LA PROPIEDAD QUE NOS INTERESA
        public virtual IList Translations { get; set; }
 
}

Continúa leyendo Navigation properties null en Entity Framework

Software para monitorizar actividad

¡Hola!
Podéis ver en mi Github un pequeño proyecto con el que poder monitorizar un pc y guardarlo en un base de datos alojada, por ejemplo, en Azure. También se pueden enviar notificaciones Azure para hacer ejecutar ciertos comandos de forma remota, o ver la webcam o escritorio de forma remota (mediante sockets).
El enlace es https://github.com/LuisM000/Planchet

¡Saludos!

Mock a servicios Lazy

¡Hola!
Cuando queremos hacer mock a un servicio, pero éste es Lazy<IService>, se puede hacer fácilmente de la siguiente forma:

//Creamos el mock de la interfaz como habitualmente
Mock<IService> mockService = new Mock<IService>();
//Al constructor Lazy se le añade el mock que va a usar cuando éste inicialice
Lazy<IService> lazyService = new Lazy<IService>(() => mockService.Object);

Y con esto ya está listo.

¡Saludos!