martes, 29 de marzo de 2016
Una de las principales características del nuevo ASP.NET Core es su diseño modular. El framework no es ahora un mastodonte monolítico sino un gran conjunto de pequeños componentes que incluiremos en nuestras aplicaciones exclusivamente cuando sea necesario.
Esto, que a priori se muestra como una ventaja en términos de rendimiento y flexibilidad de nuestros sistemas, presenta también algunos pequeños inconvenientes que debemos tener en cuenta a la hora de desarrollar aplicaciones.
Por ejemplo, en versiones anterior de ASP.NET no teníamos que preocuparnos demasiado de la gestión de los archivos estáticos (JS, CSS, HTML, fuentes...) porque teníamos por abajo a IIS que se encargaba de procesar las peticiones a este tipo de recursos. Ahora, tras la llegada de ASP.NET Core, las aplicaciones que utilicen archivos estáticos deberán incluir expresamente código para procesarlos.
Pero antes de continuar, recordaros que aún estamos jugando con una release candidate de ASP.NET Core, por lo que parte de lo que veamos a continuación podría no ser totalmente cierto en unas semanas.
Publicado por José M. Aguilar a las 9:10 a. m.
Hay
2 comentarios, ¡participa tú también!
Etiquetas: aspnetcore, aspnetcoremvc, desarrollo, static files
lunes, 28 de marzo de 2016
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.Net
- Web crawling with .net - part one - concepts
AJSON - .NET Core Console Applications
Ricardo Peres - The week in .NET – 3/22/2016
Bertrand Le Roy - Brownfield Async: Converting IAsyncResult to Task
Jeremy Bytes - Getting All "Special Folders" in .NET
Ray Koopa - High speed applications – parallelism in .NET part 1 & part 2
Erik Bergman - Sharing Information Between Asynchronous Processes
Peter Vogel - Using MEF in .NET Core
Ricardo Peres - Migrando aplicaciones de .NET al nuevo .NET Core - Preguntas y respuestas
José Manuel Alarcón
martes, 15 de marzo de 2016
Seguro que estamos todos de acuerdo en que el nuevo sistema de configuración proporcionado por ASP.NET Core mejora bastante lo que teníamos en las versiones más tradicionales de ASP.NET.
Y la posibilidad de almacenar settings en formatos como .INI o .XML resulta interesante, el formato JSON me parece de lo más cómodo y apropiado para muchos escenarios en los que antes no lo teníamos tan sencillo, como definir configuraciones con un cierto nivel de jerarquía como la siguiente:
lunes, 14 de marzo de 2016
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.Net
- Introducing Peachpie – the PHP Compiler for .NET
Benjamin Fistein - The week in .NET – 3/8/2016
Bertrand Le Roy - Roslyn scripting on CoreCLR (.NET CLI and DNX) and in memory assemblies
Filip Woj - How to ZIP/Unzip files using .NET/C# (without 3rd party libraries)?
Kunal-Chowdhury - C# Gets Pattern Matching, Disjoint Unions, Tuples and Ranges
Qwertie - Struct vs Class in C#
Abhi Jain - Detecting Liskov Substitution Principle Violations with Code Contracts
Arkadiusz Kaɫkus - Access Modifiers in C#
Abhi Jain - Ungrouping Page Numbers
Richard Carr - A very high performance web server utilizing .NET sockets and async I/O comparable to Node.js + Express and IIS 7.5
Perry Buttler - Use async keyword only when required
Miha Markič - Extending FileSystemWatcher to Use Regular Expression (Regex) Filters
Ambivalent Rob - C# Bad Practices: Learn how to make a good code by bad example
Radosław Sadowski - Create PDF from HTML using C#, Nustache, Mustache and Pechkin
Prabu am
lunes, 7 de marzo de 2016
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.Net
- .NET Framework Compatibility Diagnostics
Immo Landwerth - C# 7 Feature Proposal: Local Functions
Bill Wagner - The week in .NET – 3/1/2016
Bertrand Le roy - JSON.Net Private Setters NuGet
Daniel Wertheim - Page Number Grouping
Richard Carr - Easy Programmatic .NET Config Transforms
George Mokbel - StructureMap 4.1 is Out
Jeremy Miller - Introducing Postal.NET
Ricardo Peres - DLNA Media Server to feed Smart TV's
Dr Gadgit - ConditionalWeakTable and dynamic properties in .NET 4+
Chris Whitworth - When you can't rely on your own identity
Ayende Rahien - A Subtle Case Sensitivity Gotcha with Regular Expressions
Phil Haack - C# Interfaces and Default Parameters
Tom Dupont
martes, 1 de marzo de 2016
ASP.NET Core MVC introduce algunas características interesantes que no existían ni tenían un equivalente directo en ASP.NET MVC 5 y anteriores, y entre ellas hay una que me ha llamado mucho la atención y que vamos a comentar en este post: las convenciones personalizadas.
Seguro recordaréis que tradicionalmente tanto MVC como Web API han sido frameworks muy guiados por convenciones, es decir, venían de serie diseñados con un conjunto de pautas o normas a las que debíamos ceñirnos si queríamos aprovechar todo su potencial.
Teníamos convenciones para las rutas, de ubicación de vistas, para nombrar los controladores, nombrado de acciones según el verbo HTTP mediante el cual se pretendía acceder a una función del API, y algunas más.
Algunas de estas convenciones se podían cambiar fácilmente usando mecanismos directos proporcionados por los propios frameworks, pero había otras que era bastante más difícil hacerlo y a veces teníamos que hacer auténticos malabarismos con las piezas internas del marco de trabajo para conseguir nuestros objetivos.
ASP.NET Core MVC simplifica bastante la adaptación del framework a nuestras necesidades, proporcionando fórmulas muy potentes para la creación de convenciones personalizadas.
<Disclaimer>En el momento de escribir estas líneas ASP.NET MVC Core 1.0 se encuentra en RC1, por lo que algunos detalles aún pueden variar en la versión final</Disclaimer>
Seguro recordaréis que tradicionalmente tanto MVC como Web API han sido frameworks muy guiados por convenciones, es decir, venían de serie diseñados con un conjunto de pautas o normas a las que debíamos ceñirnos si queríamos aprovechar todo su potencial.
Teníamos convenciones para las rutas, de ubicación de vistas, para nombrar los controladores, nombrado de acciones según el verbo HTTP mediante el cual se pretendía acceder a una función del API, y algunas más.
Algunas de estas convenciones se podían cambiar fácilmente usando mecanismos directos proporcionados por los propios frameworks, pero había otras que era bastante más difícil hacerlo y a veces teníamos que hacer auténticos malabarismos con las piezas internas del marco de trabajo para conseguir nuestros objetivos.
ASP.NET Core MVC simplifica bastante la adaptación del framework a nuestras necesidades, proporcionando fórmulas muy potentes para la creación de convenciones personalizadas.
<Disclaimer>En el momento de escribir estas líneas ASP.NET MVC Core 1.0 se encuentra en RC1, por lo que algunos detalles aún pueden variar en la versión final</Disclaimer>