viernes, 23 de diciembre de 2016
Os deseo unas muy felices fiestas navideñas y
un 2017 lleno sólo de cosas buenas.
un 2017 lleno sólo de cosas buenas.
Publicado por José M. Aguilar a las 11:00 a. m.
Nadie ha comentado la entrada, ¿quieres ser el primero?
Etiquetas: navidad
martes, 20 de diciembre de 2016
Aunque esta tarea es algo que pueden (y suelen) realizar servidores frontales como IIS o Apache, a veces puede ser interesante que sea nuestra aplicación la que se encargue de ello, por ejemplo si estamos ofreciendo servicios directamente desde los servidores Kestrel o WebListener, o si deseamos aplicar algún tipo de compresión personalizada.
Conceptualmente, la tarea de compresión del resultado de una acción es una buena candidata para ser implementada como filtro. Los filtros son capaces de tomar el control antes y después de la ejecución de las acciones, por lo que, al menos en teoría, serían un buen lugar para implementar la lógica de compresión y retorno al cliente de los resultados, y su uso tendría la siguiente pinta:
public class HomeController : Controller { [Compress] public IActionResult Test() { var text = new string('x', 1000000); return Content(text); } }En este post vamos a ver cómo implementar ese filtro
[Compress]
. Y bueno, aunque implementarlo a mano y desde cero podría tener su gracia, lo que vamos a hacer es aprovechar dos de las últimas e interesantes novedades introducidas recientemente en ASP.NET Core 1.1: el middleware de compresión y la capacidad de utilizar middlewares como filtros de MVC.
lunes, 19 de diciembre de 2016
.NET
- Eliding Async and Await
Stephen Cleary - The Year in .NET – Visual Studio 2017 RC and .NET Core updated, On .NET with Stephen Cleary and Luis Valencia, Ulterius, Inferno, Bastion, LoGeek Night
Bertrand Le Roy - GAMBADAS: Los tres principales pecados al gestionar errores y excepciones
José Manuel Alarcón - Why is reflection slow?
Matt Warren - .NET Framework December Monthly Rollup is Now Available
Stacey Haffner - How to Use Your GPU in .NET
D. Infuehr - Loading .NET Assemblies out of Seperate Folders
Rick Strahl - Research papers in the .NET source
Matt Warren
martes, 13 de diciembre de 2016
EnumDropDownListFor()
para simplificar la creación de cuadros desplegables cuyos elementos eran valores de una enumeración, un escenario relativamente frecuente al desarrollar aplicaciones.Su uso era bastante sencillo, como se puede observar en el código mostrado a continuación:
// Model: public enum Language { CSharp, VbNet, FSharp, NodeJs } public class CodeGenerator { public string ApplicationName { get; set; } public Language Language { get; set; } ... } // View: @model CodeGenerator ... @Html.LabelFor(m => m.Language) @Html.EnumDropDownListFor(m => m.Language)Pues bien,
EnumDropDownListFor()
ha dejado de existir en ASP.NET Core MVC, aunque por supuesto se ha incluido una alternativa, que incluso diría que es bastante más acertada, para conseguir el mismo objetivo, pues se ha separado de forma clara la generación del desplegable de la obtención de datos para poblarlo.
lunes, 12 de diciembre de 2016
.NET
- The week in .NET – On .NET on MyGet – FlexViewer – I Expect You To Die
Bertrand Le Roy - Fun with the HttpClient pipeline
Thomas Levesque - Here's how to detect installed 'Antivirus' software name (using C#)
Kunal Chowdhury - SmartFormat.NET /2 - Enhancing string.Format to new levels
Axuno - Performance of different lock methods in .net
Eowind
lunes, 5 de diciembre de 2016
.NET
- The week in .NET – Cosmos on On.NET, GongSolutions.WPF.DragDrop, Transistor
Bertrand Le Roy - LINQ Debugging and Visualization
Michael Sorens - Implementing a simple retry pattern in c#
Alastair Crabtree - Do not misuse or over abstract AutoMapper
Andriy Buday - Beware of the .NET HttpClient
Nima Ara - Novedades en C#7
Sebastian Henzenn