El código de estado HTTP 411, length required, es enviado al cliente para indicar que la petición no puede ser aceptada si no incluye el encabezado content-length
indicando el tamaño en bytes del cuerpo de la misma.
Ahí van los enlaces recopilados durante la semana pasada, la última entrega antes de comenzar las vacaciones. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Acceder a IIS Express desde otro equipo de la red local
José María Aguilar - Incluir recursos estáticos en una Biblioteca de Clases Razor (RCL)
José María Aguilar
.NET Core / .NET
- Span<T> y P/Invoke
Eduard Tomás - .NET Core / .NET 5: Cómo publicar aplicaciones en un único ejecutable
José Manuel Alarcón - C#9 Records: Mis impresiones
Eduard Tomás - Announcing the Porting Assistant for .NET
Steve Roberts - How to list and download the contents of a GitHub repo in C#
Mark Heath - True and False functions as “oneliners”
Jiří Činčura - C# 9 Deep Dive: Init-only features
Dave Brock - Misusing C#: Multiple Main() Methods
Jeremy Clark - A Few Different Ways to Concatenate Strings in C#
Marinko Spasojevic - NuGet Package Alternatives when Migrating to .NET Core
Derek Comartin - The Magical Methods in C#
Cezary Piątek - Optional Dependencies with Autofac
Adam Storr - Don’t chase the warning! Applying Nullable Reference Types in Fixie
Patrick Lioi - The Easiest Way to Version NuGet Packages
Muhammad Rehan Saeed - C# Futures: Null Check Operator
Jonathan Allen
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: enlaces
Como ya adelantamos en la entrega 404 de enlaces interesantes, los códigos de estado 404 y 410 son muy similares, pues ambos permiten al servidor expresar que el recurso solicitado no existe.
La diferencia entre ambos es que HTTP 410 (Gone) que el recurso existió pero ya no está disponible, mientras que HTTP 404 no permite distinguir entre un recurso que jamás ha existido y uno que simplemente ha desaparecido.
Y ahora vamos con una nueva recopilación de enlaces que, como siempre, espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Streaming en gRPC, parte II: Streaming bidireccional
José María Aguilar - Personalizar la negociación de contenidos en ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- Announcing .NET 5.0 Preview 6
Richard Lander - Introducing dotnet-monitor, an experimental tool
Sourabh Shirhatti - Introducing C# 9: Improved target typing & Top-level programs] & Improved pattern matching
Anthony Giretti - Empty try with finally
Jiří Činčura - Task.WhenAll / Select is a footgun
Johnny Reilly - Reduce mental energy with C# 9
Dave Brock - Introducing Secret Store
Tom Kerkhove - Differences between String and string in C#
Marinko Spasojevic - It’s all in the Host Class – Part 2: Configuration
Christian Nagel - Multi-Targeted NuGet Package Gotchas!
Derek Comartin - Contribute To The Top 10 Impactful .NET OSS Projects 2020
Khalid Abuhakmeh - Developing Cloud Applications in .NET
Damir Arh - Parse Markdown Front Matter With C#
Khalid Abuhakmeh
Usado frecuentemente en las respuestas a peticiones de tipo PUT, el código de estado HTTP 409 es retornado por el servidor para indicar que existe un conflicto con el estado actual del recurso destino de la petición, esperando que el cliente solucione el problema y reintente la operación. Como ayuda, en el cuerpo de la respuesta suele incluirse información que facilitaría al cliente la resolución del conflicto.
Un ejemplo podría ser cuando intentamos actualizar con PUT una entidad con un número de versión posterior al que estamos enviando, lo que indicaría que otra petición distinta modificó el recurso antes que nosotros.
Y ya sin conflictos, van los enlaces recopilados durante la semana pasada que, como no podía ser de otra forma, espero que os resulten interesantes :-)
Por si te lo perdiste...
- Streaming en gRPC, parte I: Streaming unidireccional
José María Aguilar - Invocar View Componentes usando Tag Helpers en ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- Plataforma .NET: Cómo fusionar exe y dlls en un único ejecutable para distribuir
José Manuel Alarcón - AgileMapper v1.7 Released
Agile Mapper - Introducing C# 9: Init only properties & Questions & answers about Records
Anthony Giretti - C# 9: Simplified Parameter Null Validation
Jonathan Allen - C# semantic classification with Roslyn
Filip Woj - Introducing C# 9: Records
Anthony Giretti - Configuring Custom Feature Filters with Azure App Configuration (Microsoft.FeatureManagement)
Jason Roberts - Program The Game Of Life With C# and Emojis
Khalid Abuhakmeh
Seguimos comentando los códigos de estado HTTP que coinciden con el número de entrega de la serie enlaces interesantes, y en esta ocasión le ha llegado el turno al HTTP 408.
Este código de estado es enviado por un servidor cuando cierra una conexión debido a que se ha superado el tiempo de espera máximo establecido para recibir una petición, es decir, se ha producido un timeout antes de que la petición haya terminado de llegar. En estos casos, el error suele ir acompañado de un encabezado Connection
con el valor close
, que indica que el servidor desea cerrar la conexión:
HTTP/1.1 408 Request timeout
Connection: close
Y ahora, ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Comprimir el resultado de acciones específicas en ASP.NET Core MVC
José María Aguilar - Ojo con la inicialización de propiedades usando expression bodied members
José María Aguilar
Eventos
- Vuelve el Talks4Kids!
Javier Suárez
.NET Core / .NET
- Announcing .NET 5.0 Preview 5
Richard Lander - C# 9: Partial Method Enhancements for Source Generators
Jonathan Allen - .NET 5 – How to start – Michał Białecki Blog
Michał Białecki - Multilayer Caching in .NET
James Turner - Signing JWT with RSA in .NET Core 3.x Made Easy
Vincent Maverick Durano - High Performance TCP Client Server using TCPListener and TCPClient in .Net Standard
Shawn TM - How Do I Think About Async Code?!
Leslie Richardson - await false & await true
Konrad Kokosa - HelpMate.Core: A Tiny Helper For Writing .NET Core Applications
Vincent Maverick Durano - How to implement Automapper in ASP.NET Core 3.1
Procoder - Testing IOptionsMonitor
Ben Foster - Optimizing C# Value Types
Stéphane Gay - Exploring top-level statements in C# 9
Jiří Činčura - A New Pattern for Exception Logging
Stephen Cleary - Viewing AutoMapper Execution Plans with ReadableExpressions
Lucian Bargaoanu - Ecoji .NET: Encode Your Data With Emoji
Ecoji.NET
El (desconocido, al menos para mí) código de estado HTTP 407 es enviado al cliente cuando la petición que intentó no pudo ser completada debido a que un proxy requiere autenticación. Cuando este error se recibe, viene acompañado de un encabezado Proxy-Authenticate
con información sobre cómo autenticarse.
Y ahora, ahí van los enlaces recopilados durante la semana pasada, que espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo funciona Blazor: otras 7 preguntas y respuestas para conocerlo mejor
José María Aguilar - Crear desplegables desde enums en ASP.NET Core MVC
José María Aguilar - La directiva @helper, ¿reencarnada en ASP.NET Core 3?
José María Aguilar
.NET Core / .NET
- Using Span<T> to Improve Performance of C# Code
Bohdan Stupak - EdDSA for JWT Signing in .NET Core
Scott Brady - RedisProvider for .NET
Kim Johnson - Introducing the Microsoft.FeatureManagement library
Dave Brock - Understanding, Creating, Using and Testing the HttpClient
Daan Acohen - The danger of async/await and .Result in one picture
Konrad Kokosa - Dynamically Build LINQ Expressions
Jeremy Likness - Configuring Errors and Warnings in C#
Derek Comartin - Clustering Non-Numeric Data Using C#
James McCaffrey - Gradually Rollout New Features with Targeting Feature Flags (Microsoft.FeatureManagement)
Jason Roberts - Reusable Build Components with Default Interface Implementations
Matthias Koch - Pack your .NET program to a single .exe file with PostSharp Community
Petr Hudeček - How I Used Brotli to Get Even Smaller CSS and JavaScript Files at CDN Scale
Hamid Sarfraz - Asynchronous Programming With Async And Await
Rikam Palkar
El código de estado HTTP 406 (Not Acceptable), es retornado por los servidores
cuando no pueden generar una respuesta debido a que son incapaces de cumplir
las condiciones indicadas en los encabezados de negociación de contenidos
(Accept
, Accept-Charset
,
Accept-Encoding
y Accept-Language
). Por ejemplo,
podríamos obtenerlo si solicitásemos un recurso especificando
application/json
en el encabezado Accept
, pero el
servidor no fuera capaz de generar una representación del contenido en dicho
formato.
Y ahora, vamos a por los enlaces recopilados durante la semana pasada, que espero que os resulten interesantes. :-)
Por si te lo perdiste...
-
Introducción a Blazor a través de 7 preguntas (y sus respuestas)
José María Aguilar -
Cómo saber si un nivel de traza está activo en aplicaciones ASP.NET
Core/MVC
José María Aguilar -
Novedades en la evaluación en cliente de EF Core 3.0
José María Aguilar
.NET Core / .NET
-
ClickOnce: los ajustes de seguridad no permiten que esta aplicación se
instale
José Manuel Alarcón -
Forzar la re-instalación de todos los paquetes Nuget en Visual Studio
Daniel Córdoba -
C# 9 Non-Destructive Mutation
&
C# 9 Non-Null Parameters
&
C# 9 Covariant Return Types
Steve Fenton -
Exciting new features in C# 9
Thomas Levesque -
.NET async/await in a single picture
Konrad Kokosa -
C# 9: towards First Class Support for Scripting
Jonathan Allen -
.NET ThreadPool starvation, and how queuing makes it worse
Kevin Gosse -
Dynamic command dispatching in C#
Nicklas Millard -
BackgroundService Gotcha: Silent Failures
Stephen Cleary -
C# 9 Preview
Bassam Alugili
Sin embargo, atendiendo a la especificación del protocolo HTTP, no siempre se utiliza correctamente. Por definición, la respuesta 404 no dispone de mecanismos para indicar si el recurso existió alguna vez o si el error es permanente o transitorio, mientras que el código HTTP 410 (Gone) sí permite expresar que el recurso existió, pero ya no está disponible y no volverá a estarlo, por lo que los clientes podrían eliminar enlaces o referencias al mismo con tranquilidad.
Y ahora, vamos a por los enlaces recopilados durante la semana pasada que, como es habitual, espero que os resulten altamente interesantes. :-)
Por si te lo perdiste...
- Generar rutas en minúsculas desde ASP.NET Core MVC
José María Aguilar - Cómo hacer que Fiddler inicie sin capturar conexiones
José María Aguilar
.NET Core / .NET
- Writing More Succinct C#
Dan Clarke - Integration Testing of a .NET Core Application with a Database Dependency
Daan Acohen - How WireMock.NET Can Help in Doing Integration Testing of a .NET Core Application
Daan Acohen - How to Improve .Net Applications with AOP
Daniele Fontani - Demystifying Memory Profilers in C# .NET Part 3: Memory Pressure
Michael Shpilt - Get the result of multiple tasks in a ValueTuple and WhenAll
Gérald Barré - Multi RDP Client .NET
Jayson Ragasa - Performance best practices in C#
Kevin Gosse - Use CancellationToken, not Thread.Sleep
Thomas Roll - A Story About .csproj, Large Solutions and Memory Usage
Maarten Balliauw - In-App scripts with C# & Roslyn
Mike James - Chain Actions, Funcs, and Predicates In .NET
Khalid Abuhakmeh - It’s all in the Host Class – Dependency Injection with .NET
Christian Nagel - More fun with comments
Matt Lacey - Things every C# developer should know
Thomas Levesque - The anatomy of async iterators (aka await, foreach, yield)
Marc Gravell
A veces se confunde con el HTTP 401, pero son muy diferentes:
- HTTP 401 (Unauthorized) indica, a pesar de su nombre, un problema de autenticación, y debe evaluarse antes de decidir si el usuario tiene acceso o no al recurso concreto.
- HTTP 403 (Forbidden) indica un problema de autorización, y es más específico que el anterior porque indica que el servidor sabe quién es el cliente y conoce el recurso al que intenta acceder, pero decide que no está autorizado a hacerlo.
Por si te lo perdiste...
-
Hace unos días me entrevistaron en la Resistencia Tecnológica, el divertido programa de Crossdvlup guiado por Alberto Díaz (@adiazcan), David Vidal (@D_Vid_45) y Sergio Hernández (@shmancebo). Algo más de hora y media charlando sobre la vida, el blog, ASP.NET, Blazor y algunas otras cosillas, que podéis ver en Youtube.
Aparte, os recomiendo suscribiros al canal y echar un vistazo a los programas anteriores, porque podréis encontrar temas muy interesantes y personajes ilustres :)
.NET Core / .NET
- Shallow Copy y Deep Copy en C#
Jorge Serrano - C# Source Generators: Less Boilerplate Code, More Productivity
Jason Roberts - Unit testing a Roslyn Analyzer
Antão Almada - Cómo ejecutar pruebas de código dentro de contenedores Docker
Jorge Turrado - How to implement full-text search in .Net application with Elasticsearch
Daniele Fontani - .NET Portability Analyzer
Derek Comartin - Ping a Server Using C#
Khalid Abuhakmeh - Post-Build Events and .NET Core & Cross-Platform Build Events in .NET Core using MSBuild
Jeremy Clark - Static Constructor Failures and Declaration Order
Rick Strahl - C# 8.0 nullable references: getting started in an existing codebase
Ian Griffiths - Ignore Specific files for a target framework on C#
Tsuyoshi Ushio - C#8 Using Declarations With FluentAssertions
Adam Storr
Sin embargo, la idea nunca se desarrolló y, a falta de una especificación formal, no se generalizó su uso. Personalmente, jamás he implementado una API o servicio que retorne HTTP 402, pero hay algunos proveedores de servicios que sí lo hacen, aunque de forma arbitraria y no normalizada.
Esta era la píldora cultural del día, vamos con el tema que nos ocupa :)
Seguimos de encierro una semana más, aunque ya con la posibilidad de disfrutar de pequeños paseos (limitados en tiempo y distancia) o de hacer deporte en el exterior. Esto hace que el futuro se vea con algo más de optimismo, aunque espero que esta tímida apertura no provoque una vuelta atrás en los avances conseguidos hasta el momento.
Y mientras la cosa se aclara, podéis ir echando un vistazo a los enlaces recopilados durante la semana pasada que, como de costumbre, espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Limpiar la clase Startup de ASP.NET Core
José María Aguilar - Enumerables asíncronos en C# 8
José María Aguilar
.NET Core / .NET
- Cómo escribir información adicional de salida en nuestros tests de xUnit
Jorge Serrano - Web scraping de una página web y conversión a pdf con .NET Core 3.1
Jorge Serrano - Work flow of diagnosing memory performance issues – Part 2
Maoni Stephens - Introducing C# Source Generators
Phillip Carter - Did you know ? Easy and custom debugging with DebuggerDisplay and DebuggerTypeProxy attributes on Visual Studio
Anthony Giretti - Dotnet core 3.0 Self Contained Single Executable (and other build optimisations)
Darren Horrocks - The Dispose Pattern is Broken
Paulo Zemek - Demystifying Memory Profilers in C# .NET Part 2
Michael Shpilt - Exception Helper – Rethrown Exceptions
Andy Sterland - How to use CancellationTokens to cancel operations in the Azure SDK for .NET
Adrian Hall - Split a string into lines without any allocation
Gérald Barré - INotifyPropertyChanged with C# 9.0 Source Generators
Jerome Laban - Performance in .NET – Part 4
Ricardo Peres - Access to EXIF tags in JPEG files
Hans-Peter Kalb - C# 8.0 nullable references: inferred (non-)nullness
Ian Griffiths - Markdown .NET Core Library
Jason Gaylord
Por si te lo perdiste...
- Switch expressions en C# 8
José María Aguilar - Confluencia de ramas en el pipeline de ASP.NET Core
José María Aguilar
.NET Core / .NET
- Como leer programáticamente contadores de rendimiento en .Net Core
Jorge Turrado - Announcing .NET 5.0 Preview 3
Richard Lander - Unit bias against collections
Mark Seemann - The Most Exciting Promise of .NET 5
Heather Downing - Enjoy Local Development with Tye, Docker, and .NET
Khalid Abuhakmeh - Building End-to-End Diagnostics and Tracing: Diagnostic Events
Jimmy Bogard - Nullable Reference Types: Migrating a Codebase – A Look at New Language Features in C# 8
Matthias Koch - Introducing Jasper as an In Process Command Bus for .Net
Jeremy D. Miller - C# 9 – Positional or Nominal Creation
Christian Nagel - Creating and Packaging a .NET Standard library
Sayed Hashimi - Verify User File Uploads With .NET
Khalid Abuhakmeh - Demystifying Memory Profilers in C# .NET Part 1: The Principles
Michael Shpilt - Referencing a Specific Assembly from a NuGet Package
Maarten Balliauw - Finalization Queue Tips
Mark Downie - .NET Core Tab Completion With Zsh
Khalid Abuhakmeh
Por si te lo perdiste...
- Novedades en la compilación de vistas en ASP.NET Core 3.0, ¡otra vez!
José María Aguilar - Ramificar el pipeline de ASP.NET Core con Map() y MapWhen()
José María Aguilar
.NET Core / .NET
- Work flow of diagnosing memory performance issues – Part 1
Maoni Stephens - Pretty Method Display in xUnit.net
Jason Roberts - Using .NET Core to provide Power Query for Excel on Mac
Oded Hanson - A Framework to DotNet Core Conversion Report
Mike Hadlow - C# 8.0 nullable references: non-nullable is the new default
Ian Griffiths - Serilog Logging Best Practices
Ben Foster - C# 8, A Year Late
Dave Brock - .NET JIT compiler is not type safe
Konrad Kokosa - A little riddle with AsyncLocal
Nelson Parente - 7 ways to improve code quality in C# using option type
Ahmed Fouad
Y para celebrarlo, he pensado que estaría bien hacer un recopilatorio de preguntas y curiosidades que los fieles seguidores de esta serie me habéis ido haciendo llegar, tanto en persona como a través de redes sociales o mails, a lo largo de estos años.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: autobombo, blogging, curiosidades, enlaces
Por si te lo perdiste...
- Implementación por defecto en interfaces de C#8, un primer vistazo
José María Aguilar - Archivos estáticos en aplicaciones ASP.NET Core (II)
José María Aguilar
.NET Core / .NET
- Contadores de rendimiento multiplataforma en .Net Core
Jorge Turrado - Resolviendo problemas con repositorios de paquetes NuGet a la hora de instalar Templates de proyectos en .NET Core
Jorge Serrano - .NET 5.0, VS2019 Preview and C# 9.0 for ASP .NET Core developers
Shahed Chowdhuri - Work flow of diagnosing memory performance issues – Part 0
Maoni Stephens - Mobius – .NET runtime running on .NET Core
Konrad Kokosa - Depending on the right PowerShell NuGet package in your .NET project
Robert Holt - Building End-to-End Diagnostics and Tracing: Trace Context
Jimmy Bogard - Move OData to .NET 5
Sam Xu - Memory Cache in C#
Jaimin Shethiya - Check Certificate Expiry Date in .NET Core
Steve Fenton - How are .NET APIs Designed?
Steve Gordon - Strangling .NET Framework App to .NET Core
Kamil Grzybek - HttpClient - Error handling, a test driven approach
Josef - Simplifying Parameter Null and Other Checks with the Pitcher Library
Jason Roberts - Queuing Background Jobs with Coravel
Derek Comartin - Using Oakton for Development-Time Commands in .Net Core Applications
Jeremy D. Miller - Building your First async fluent API using interface extension methods pattern
Ahmed Fouad
Como siempre, espero que os resulten interesantes y os ayuden a llevar mejor el confinamiento. ¡Que paséis una buena Semana Santa!
Por si te lo perdiste...
- Tipos referencia anulables en C# 8
José María Aguilar - Archivos estáticos en aplicaciones ASP.NET Core (I)
José María Aguilar
.NET Core / .NET
- Announcing .NET 5.0 Preview 2
Richard Lander - .NET 5 preview support in OmniSharp and C# Extension for VS Code
Filip Woj - What Are .NET Worker Services?
Steve Gordon - Sending and Receiving JSON using HttpClient with System.Net.Http.Json
Steve Gordon - C# Functional Programming In-Depth (12) Immutability, Anonymous Type, and Tuple
Dixin Yan - Inject JsonSerializerOptions so Don't Repeat Yourself
Adam Storr - NLog Tutorial - The essential guide for logging from C#
Thomas Ardal - Writing .NET Database Integration Tests
Khalid Abuhakmeh - Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story
Maarten Balliauw - Regex Performance Improvements in .NET 5
Stephen Toub - Build a Windows Worker Service Using .NET Core 3.1 for Removing Old Files in Folders
Fredrik Rudberg
¡Cuidaos mucho!
Por si te lo perdiste...
- Null coalescing assigment "??=", el nuevo operador de asignación en C# 8
José María Aguilar - Acceder a arrays en settings JSON de ASP.NET Core
José María Aguilar
.NET Core / .NET
- Variables? We Don’t Need No Stinking Variables
Jason Roberts - C# interop with C/C++ and Rust in WebAssembly
Jerome Laban - Learning and documenting .NET with dotnet try
Bruno Sonnino - NServiceBus and .NET Core Generic Host
Jimmy Bogard - Suppressing Disassembly
Mark Downie - Sanitize HTML snippets with AngleSharp
Gérald Barré - Use NodaTime to replace C# DateTime
Matteo Locher - Controlling the Serial and Parallel Test on XUnit
Tsuyoshi Ushio - ElectronCGI 1.0 - Cross-platform GUIs for .Net Core
Rui Figueiredo - Using HttpCompletionOption to Improve HttpClient Performance in .NET
Steve Gordon - Getting Started With .NET Localization
Khalid Abuhakmeh - Adding Tuple Support to .NET Classes in C#
Jason Roberts - Optimising C# for a serverless environment
Carmel Eve - Generator Pattern using CSharp and Linq
Ahmed Fouad - .NET 5: Merging .NET Core and .NET Standard with New Target Framework Monikers (TFMs)
Thomas Claudius Huber - ValueTask Restrictions
Stephen Cleary
Por si te lo perdiste...
- Etiquetado de consultas en Entity Framework Core
José María Aguilar - La directiva @helper no existe en MVC Core 1.0
José María Aguilar
.NET Core / .NET
- Announcing the .NET Core Uninstall Tool 1.0
Sarah Oslund - Visual Basic support planned for .NET 5.0
.NET Team - Microsoft: 'We Do Not Plan to Evolve Visual Basic as a Language'
David Ramel - Your C# is already functional, but only if you let it
Igal Tabachnik - Morestachio 3.0. An Evolving .NET TextEngine
Jean-Pierre Bachmann - Improving list sum function based on head and tail with C# 8
Jiří Činčura - Passing awaited tasks
Eric Lippert - Some more C# 8
Tom Deseyn - Microsoft Dotnet Gitignore File
Vijay Ganesh - C# Implementation of Basic Linear Algebra Concepts
Mohammad Elsheimy - C#: Different ways to Check for Null – Thomas Claudius Huber
Thomas Claudius Huber
Por si te lo perdiste...
- Índices y rangos en C# 8 (2 de 2)
José María Aguilar - ¿Cuál es el "Bus factor" de tu proyecto?
José María Aguilar
.NET Core / .NET
- Nuevo curso: Testing de aplicaciones .NET y .NET Core
CampusMVP - Fin de soporte de .NET Core 3 ¿y ahora qué?
Jorge Serrano - Creando un Servicio Windows con .NET Core 3.1
Jorge Serrano - Introducing perfolizer
Andrey Akinshin - .NET Threading and WebAssembly
Jerome Laban - Why do I rag on BinaryFormatter?
Marc Gravell - C# 8 default interface methods
Tom Deseyn - Optimize struct performances using StructLayout
Gérald Barré - Analysing .NET start-up time with Flamegraphs
Matt Warren - How to write a Roslyn Analyzer
Mika Dumont - Functional Programming Optics in .NET
William Barbosa - Upgrade Your .NET Console App Experience
Khalid Abuhakmeh - C# 8 nullable reference types
Tom Deseyn - Patrik Svensson - How to write a stateful Roslyn analyzer
Patrik Svensson - C#: The Order of Interfaces Is Important for Casting Performance
Thomas Claudius Huber
Por si te lo perdiste...
- Índices y rangos en C# 8 (1 de 2)
José María Aguilar - Añadir o eliminar encabezados de respuesta en ASP.NET Core y Core MVC
José María Aguilar
.NET Core / .NET
- Windows Forms y el regreso de su diseñador en .NET Core 3
Elena Guzmán - Cómo escribir un logger de alto rendimiento para .Net Core
Jorge Turrado - .NET Core 3.0 will reach End of Life on March 3, 2020
Lee Coward - Dos and Don'ts of stackalloc
Kevin Jones - Struct equality performance in .NET
Gérald Barré - C# 8 asynchronous streams
Tom Deseyn - .NET Core/Standard Auto Incrementing Versioning
Sacha Barber - Provisional Mode
Maoni Stephens - C# 8 pattern matching
Tom Deseyn - Using the LINQ OrderBy operator with null values
Jerrie Pelser - Putting the Fun in C# Local Functions
Rion Williams - C# - Sealed and internal - how to use in unit test?
Josef Ottosson - Why is decompilation possible?
Mark Downie
Por si te lo perdiste...
- Value Converters en Entity Framework Core
José María Aguilar - Custom middlewares en ASP.NET Core
José María Aguilar
.NET Core / .NET
- Conocer el índice del elemento de una iteración dentro de un foreach
Jorge Serrano - Under the hood of “Default Interface Methods”
Matt Warren - 12 things you need to know about .Net Core
Michał Białecki - LINQ in C# Explained In Five Minutes
Petey - C# - Sealed and internal - how to use in unit test?
Josef Ottosson - Are you reading the "What's New" in .NET docs?
Shayne Boyer - Apache Kafka for .NET developers
Ruslan Albu - Intro To Pattern Matching
Bassam Alugili
Por si te lo perdiste...
- Ámbito local implícito en sentencias using de C# 8
José María Aguilar - Cacheo de porciones de vistas en ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- Escribiendo código de alto rendimiento en .Net Core
Jorge Turrado - Announcing .NET Interactive - Try .NET includes .NET Notebooks and more
Scott Hanselman - C# to C# Communication: REST, gRPC and everything in between
Michael Shpilt - Producing Multiple Related NuGet Packages from a Single Git Repo
Mark Heath - How to protect against XML vulnerabilities in .NET
Gérald Barré - How to run ASP.NET Core as a service on Linux (RHEL)
Niels Swimberghe - How to send emails from C#/.NET
Thomas Ardal - Binding Redirects
Nick Craver - Save Your C# Keystrokes With Tuples
Khalid Abuhakmeh - Get started with .NET Generic Host » André Snede Kock
André Snede Kock - Simplifying Parameter Null and Other Checks with the GuardClauses Library
Jason Roberts - Iterators in C#, IEnumerable<T>, and IAsyncEnumerable<T>
Spencer Schneidenbach - The Maybe Monad in C#: More methods
Yacoub Massad - The most dangerous constructor in .NET » André Snede Kock
André Snede Kock - Clean up your .NET with the Dispose Pattern
Nick Proud - Creating .NET Core global tools on macOS
Sayed Hashimi - Mono: From Xamarin to WebAssembly, Blazor, and .NET 5
Arthur Casals