martes, 15 de octubre de 2019

Para ponernos en situación, imaginemos que tenemos una expresión como la siguiente, donde retornamos el texto
"Rojo"
cuando le suministramos el valor de enumeración Color.Red
, y "Desconocido"
en otros casos. Algo fácil de solucionar utilizando el operador condicional ?
:enum Color { Purple, Red, Blue, Orange, Black, Pink, Gray, Green, White };
string GetColorName(Color color)
{
var str = color == Color.Red ? "Rojo" : "Desconocido";
return str;
}
Imaginemos ahora que la aplicación evoluciona y debemos añadir otro caso a esta condición, como el soporte para el color azul. No pasa nada, podemos seguir el mismo patrón, aunque empezaremos a notar que esto no va a escalar demasiado porque la legibilidad empieza a resentirse:var str = color == Color.Red ? "Rojo" : color == Color.Blue ? "Azul" : "Desconocido";
lunes, 14 de octubre de 2019
Por si te lo perdiste...
- El hosting in-process de ASP.NET Core 2.2
José María Aguilar - Closures en JavaScript: entiéndelos de una vez por todas
Óscar Sotorrío
.NET / .NET Core
- Compartir versionado entre ensamblados en .NET Core, Parte I y Parte II
Jorge Serrano - Non-nullable references with C# 8 and .NET Core 3.0
Cezary Piątek - Import and Export RSA Key Formats in .NET Core 3 Kevin Jones
- Regex - Deny of Service (ReDoS)
Gérald Barré - Worker Service: Cómo crear un servicio .Net Core 3 multiplataforma
Jorge Turrado - C# 8 New Features
Shameel Ahmed - Deploying .NET Core 3 apps as self-contained
Tim Heuer - Lenguaje C#: interfaces y qué diferencia existe entre implementarlas explícita o implícitamente
José Manuel Alarcón - 4 Predictions for the Future of .NET
Patrick Smacchia - Using C# 8 and Nullable Reference Types in .NET Framework
Jonathan Allen - A Proposal for IDisposable and Static Analysis: DisposeUnused Attribute
Jonathan Allen - ¿Cómo averiguar qué versión o versiones de la plataforma .NET tengo instaladas en mi equipo?
José Manuel Alarcón
ASP.NET / ASP.NET Core
- Generalize file access for ASP.NET Core applications using IFileClient implementations
Gunnar Peipman - ASP.NET CORE Token Authentication and Authorization using JWT (No Cookies) – Part 2
Joseph Rozario - How to Include AntiForgeryToken for MVC Integration Testing
Marinko Spasojevic - 3 Ways to Bind Blazor Data to DOM
Bradley Wells - Configure Different Implementations for Different Controllers in ConfigureServices
Steve Smith - Run an External Executable in ASP.NET Core
Changhui Xu - gRPC Response Compression with ASP.NET Core 3.0
Steve Gordon - Async Streaming with ASP.NET Core SignalR and C# 8
Christian Nagel <img src="images/blazor.png" style="float:right; margin: 0 0 10px 10px" alt="Blazor"> - Blazor Server in .NET Core 3.0 scenarios and performance
Daniel Roth - Writing the Code for a gRPC Service and Client in ASP.NET Core 3.0
Peter Vogel - Working With Query Strings In Blazor
Mike Brind
Error en proyectos gRPC al usar un nombre de usuario de Windows con espacios o caracteres especiales
martes, 8 de octubre de 2019

C:\Users\<Tu nombre>
:
De hecho, llevo ya varios encontronazos de este tipo en los últimos meses (por ejemplo, con Anaconda o con el SDK de Android para Windows), y el último lo he tenido al intentar utilizar las herramientas de Protobuf para la creación de servicios gRPC que, como sabéis, es una de las novedades incluidas en .NET Core 3.
Aunque el problema lo he encontrado trabajando con Visual Studio, ciertamente este IDE tiene poco que decir al respecto; ocurre lo mismo usando línea de comandos o cualquier otro entorno que se base en el tooling oficial de gRPC para .NET.
lunes, 7 de octubre de 2019
Por si te lo perdiste...
- 101 nuevas citas célebres del mundo de la informática (¡y van 404!)
José María Aguilar - Crear y utilizar librerías multiplataforma con C++ y .NET Core (Parte 2)
Jorge Turrado
.NET / .NET Core
- Introducing .NET Core Windows Forms Designer Preview 1
Olia Gavrysh - Deprecating packages on nuget.org
Anand Gaurav - .NET Serialization Benchmark 2019 Roundup
Alois Kraus - Adventures in IL: Conditionals and Loops
Aaron Powell - .NET Core 3 Local Tools
Stuart Lang - C# Inheritance: A Complete but Gentle Introduction
Carlos Schults - New in ASP.NET Core 3.0: Worker Services
Jürgen Gutsch - Using the .Net Core Template Engine to Create Custom Templates and Projects
Matt Ellis - How to Stress the C# Compiler
Henning Dieterichs - What’s the maximum number of generic parameters for a class in .NET/C#?
Jiří Činčura - Publicada la versión final de DotNetCore.FeatureFlags
Jorge Serrano
martes, 1 de octubre de 2019
Bueno, la cuestión es que en ASP.NET Core 3.0 ha vuelto a cambiar, y esperemos que sea por última vez ;)
Veamos en qué han consistido estos cambios.
lunes, 30 de septiembre de 2019
Por si te lo perdiste...
- ¿Por qué separamos los directorios con la barra invertida?
José María Aguilar - ¿Se pueden introducir directivas o lógica de inicialización en todas las vistas y páginas sin duplicar código?
José María Aguilar
.NET / .NET Core
- Announcing .NET Core 3.0
Richard Lander - .NET Core 3.0 Released / .NET 5 Is VNext
Chris Pietschmann - Announcing F# 4.7
Phillip Carter - Single-file executables in .NET Core 3
Magnus Montin - Exploring .NET Core 3.0. What's New?
Andrea Chiarelli - .NET Core 3.0 New APIs
Patrick Smacchia - dotnet new - Behind the Scenes
Mark Heath - Nullable<T>: Value vs GetValueOrDefault() in term of performance
Gérald Barré - A Closer Look at C# 8 Interfaces
Jeremy Clark - C#8 Interfaces: Properties and Default Implementation & Unit Testing Default Implemetation & "dynamic" and Default Implementation & Dangerous Assumptions in Default Implementation
Jeremy Clark - Adventures in IL: Conditionals and Loops
Aaron Powell - Announcing free C#, .NET, and ASP.NET for beginners video courses and tutorials
Scott Hanselman - Creating gRPC .NET Core Client libraries
Steve Gordon - gRPC and C# 8 Async stream & * gRPC and C# 8 Async stream cancellation
Laurent Kempé - The Maybe Monad
Yacoub Massad - All about IDisposable
Gunnar Peipman - “Stubs” in the .NET Runtime
Matt Warren - Detecting Profanity in Users Input
Stephen Haunts - Modernize Your C# Code
Florian Rappl - Como medir el rendimiento de nuestro código
Jorge Turrado