C# has been through a lot of change in the last decade. From open-sourcing the language to a new cross-platform framework to yearly releases instead of 3-year iterations. Meanwhile, new languages, new frameworks, and new paradigms have taken off in the software industry, including the rise in popularity of Node.js, TypeScript, Kotlin, Rust, Go, and Python. Through it all, C# and .NET stayed relevant and popular. In this blog post, we’ll glimpse the day-to-day activity and challenges the C# language design team faces.
Auth. Built for Devs, By Devs. (sponsor)
FusionAuth is the customer authentication and authorization platform that makes developers' lives awesome. You'll get all the features your app needs plus a customizable, scalable solution you can run on any computer, anywhere in the world.
C# 11.0 adds some new pattern matching features. In this post, Ian shows the new support for matching lists.
Initially I set out to support a scenario where an user could be part of multiple tenants and have different permissions to each tenant. This has since changed and an user can now only belong to one tenant. The authentication part is taken care of by an external provider, but the user accesses are handled "locally" (more info in previous post). My case involves a Blazor WASM app and an ASP.NET Core API. The external identity provider (IDP), provides, the app, with an id-token and an access-token
This article explores how one of the well-known capabilities of C# language, Linq, can be used to address complex functional workflows. The technique used in this article is also known as Linq to Monad or Computation Expressions.
Route tooling is a group of new features in .NET 8 that makes ASP.NET Core routing easier to use. Check out what route tooling adds to building ASP.NET Core apps.
The ASP.NET Core team shares their plans to improve authentication, authorization, and identity management in .NET 8.
Here is a way to access objects just after they are saved by Entity Framework and have had a primary key assigned to them.
In this blog post, we will explore the use of SIMD instructions to speed up LINQ queries. We will use the Vector type of performing SIMD operations on arrays of data. We will also use the BenchmarkDotNet library to measure the performance of our code. We will also see how this works hand in hand with the new "generic math" feature of C# 10.
Read about ExternalFinalizer: Adding a finalizer to 3rd party objects on the RavenDB.net news section.