stream:// .net


Build .NET Search Experiences With Lunr-Core

Using Lunr and Lunr-Core to build search experiences for .NET apps

Release v2.1.0 · PragmaticFlow/NBomber

added StatusCode hint analyzer by @yuri-hunter added Push Extensions with MQTT load test example fixed bug with printing errors to console added CustomStepOrder property in JSON configuration by @y...

File IO improvements in .NET 6

Learn about high-performance file IO features in NET 6, like concurrent reads and writes, scatter/gather IO and many more.

.NET locking in an Async Method | Cody's Personal Site

This article is a code snippet for handling the locking of an async process to a single thread in .NET.

Using the Console Log formatter

In this episode we’re joined by Maryam Ariyan, one of the Software Engineers that works on the Logging extensions for .NET. Maryam talks to us about some of ...

Large Numbers of Bindings With RabbitMQ

RabbitMQ (or more specifically the AMQP protocol) provides a degree of flexibility over other message-queue solutions with its exchange-binding-queue model. Some possible solutions to scaling or business issues result in large numbers of bindings being created, perhaps thousands per queue. We tested RabbitMQ to find out what the binding performance limits were and present the results in this post. It seems that large numbers of bindings are not in themselves a performance issue, but on a RabbitMQ cluster, “binding churn” the rate at which they are created and destroyed can have a large impact on message delivery and because bindings can take time to propagate through the cluster there is the possibility of message loss.

ReSharper 2021.2.1 and Rider 2021.2.1 Bug Fixes Are Out! | The .NET Tools Blog

Introducing the first bug-fix updates for the 2021.2 major releases of both Rider and ReSharper!  Both Rider 2021.2.1 and ReSharper 2021.2.1 are available on www.jetbrains.com and via the Tool

Webinar: Building an Online Ticket Store with Blazor WebAssembly | The .NET Tools Blog

Join us Tuesday, September 28, 2021, 16:00 - 17:00 CEST (10:00 AM - 11:00 AM EDT or check other timezones) for our free live webinar, Building an Online Ticket Store with Blazor WebAssembly, with Stev

.NET Core 2.1 container images will be deleted from Docker Hub

NET Core 2.1 Docker container images will no longer be available on Docker Hub, but exclusively on Microsoft Container Registry (MCR).

C# Language Highlights Deconstructing Non-tuple Types

In this short video, David (https://twitter.com/davidpine7) and Kendra (https://twitter.com/gotheap) dive into the deconstruction of non-tuple types.Deconstr...

New .NET 6 APIs driven by the developer community

.NET 6 is on the way, and David wanted to share some of his favorite new APIs in NET and ASP.NET that you are going to love.

Using SignalR in your Blazor applications

In this episode, David Pine joins Jeremy to show off this chat bot enabled demo that's powered by Blazor WASM and SignalR[00:00] - Start[01:09] - Why is Sign...

String Interpolation in C# 10 and .NET 6

Learn about String Interpolation in C# 10 and .NET 6

.NET 6: Threading Improvements

While numerous libraries exist to abstract away the complexities of asynchronous and concurrent programming, developers still need to drop down to lower thread-handling logic from time to time. Continuing our API changes for .NET 6 series, we look at some new tricks for multi-threading.

Announcing ODP.NET 21.3 — User-Defined Types for Managed ODP.NET and ODP.NET Core

I’m excited to announce the second ODP.NET 21c release, version 21.3, is now available on NuGet Gallery for both managed ODP.NET and…

Synchronous vs Messaging: When to use which?

!Synchronous vs Messaging? RPC or Asynchronous? Which should you choose? It depends on where the request originates from!

How to Stop NullReferenceExceptions in .NET: Implementing Nullable Reference Types

This article gives you a toolset for stopping NullReferenceExceptions in .NET code. The article centers around Nullable Reference Types (NRT), a feature that Microsoft added in C# 8. This article mentions five additional tools to ensure that users will never encounter the exception and explains how to implement them in your code. The Toolset Use non-nullable variables (Reference and value types): flag variables that should never be nullNull object pattern: inject default implementations with null behavior instead of null referencesTreat NRT warnings as errors: enforce the NRT rules to ensure that variables cannot enter a null/not-null state at the wrong time. Treat NRT warnings as errors so code will not compile if it breaks the NRT rules.Immutability: reduce the risk of NullReferenceException by only setting the reference onceArgumentNullException: An oldy but a goody. Stop code execution early in cases where the consuming code does not treat NRT warnings as errors.Unit testing: pass nulls into your code to make sure the appropriate result occurs. Mutation testing can help you achieve a higher level of certainty in your tests. Note: This article talks about libraries and consumers of those libraries. This might sound like it's about open-source libraries, and it is, but it's also about maintaining libraries in your team. If you publish libraries, someone will be consuming them, and that might even be you. Nullable Reference Types I recommend reading the official NRT documentation before or after reading this post. This article will refer to some terminology in that documentation which is important to understand. Reference types (classes, delegates, interfaces) are nullable by their nature. So, why is there suddenly a feature in the language that makes it sound as though they are suddenly nullable? The answer is partly historical. Value types (primary data types and structs) are not inherently nullable. C# added the nullable values types feature and added a nullable ? shortcut in C# 7. The NRT feature follows on from this. It extends the concept so that types suffixed with ? are meant to allow null. The corollary of this is that when we turn NRT on (nullable aware context), types without the? flip from being inherently nullable to not nullable. The syntax also brings C# in line with several other modern languages like Dart. When turned on, variables are in nullable aware context. You can turn nullable aware context on project by project or file by file. You need to turn it on file by file in the older csproj formats (pre SDK style). For example, you cannot turn it on at the project level for UWP or Android. Variables declared where nullable aware context is off are considered nullable oblivious.  If you leave this feature half-implemented, it could be confusing for people consuming the library. The IDE quick info bubbles may not identify between nullable aware and nullable oblivious variables. The consumer may not know if they allow null or not, and it's not easy for them to tell the difference between these and variables that are nullable oblivious. You might choose to convert entire projects for this reason or not to implement NRT on older projects.  Note: NRT support in IDEs is getting better, and IDEs will likely distinguish between nullable aware and nullable oblivious variables in the quick info in the future. Turn on NRT (Nullable Aware Context) There are a few different strategies for turning on NRT. I recommend doing it all at once and at the project level if you can. As mentioned, doing it for half a library could confuse the consumer. This is the Microsoft documentation on upgrading to NRT. Open up the csproj file and add these lines: <LangVersion>Latest</LangVersion> <Nullable>enable</Nullable> You will see lots of warnings. The existing variables where the reference type does not have a ? suffix will become not nullable. This flips the meaning of the existing code. Any reference type variables that were nullable change to not nullable. If you want to turn on nullable aware context at the file level, add this to the top of the file. #nullable enable Note: you can also leave the language version at 8. Turn on Treat Warnings as Errors Warnings are not enough. You need to treat warnings as errors. Warnings are too easy to ignore, so you need to tell the compiler to stop compilation when you violate an NRT constraint. If you don't, you won't get the most s...

Thread by @davidfowl on Thread Reader App

Thread by @davidfowl: As usual, there are a boatload of new APIs coming in .NET 6. Most of these are driven by custom requests. Lets talk about some of them. #dotnet #aspnetcore In .NET 6, there's a...…

C# Highlights: Immutable Collections

In this short video, you’ll learn about Immutable collections from Leslie (https://twitter.com/lyrichardson01) and Brandon (https://twitter.com/TheCodeTravel...

Speed up your .NET and C++ development with Hot Reload in Visual Studio 2022

With the recent release of Visual Studio 2022 Preview 2 we’d like to use this blog post to dive deeper into the brand-new Hot Reload experience which works for both managed .NET and newly supported native C++ apps. With Hot Reload our goal is to save you as many app restarts between edits as possible,

Enums in C#: Hidden Pitfalls

C# has low barriers to entry and forgives a lot. Seriously, you may not understand how things work under the hood but still write code and remain easy-going about this. Though you still have to deal with different nuances over time. Today, we'll look at one o…

How to parse HTML in .NET | ScrapingAnt Blog

This article will show you how to parse HTML pages with C# and .NET. Learn the basic web scraping techniques to parse data with HtmlAgilityPack, AngleSharp, Fizzler, and CsQuery.

GitHub - microsoft/Microsoft.IO.RecyclableMemoryStream: A library to provide pooling for .NET MemoryStream objects to improve application performance.

A library to provide pooling for .NET MemoryStream objects to improve application performance. - GitHub - microsoft/Microsoft.IO.RecyclableMemoryStream: A library to provide pooling for .NET Memor...

Anatomy of a .NET app

What happens when you build a .NET app? What happens the instant you run it? The last time I studied this was when .NET Framework was in its...

ReSharper 2021.1.5 and Rider 2021.1.5 Released | The .NET Tools Blog

Hello everyone, As it happens, even bugfix updates sometimes require bugfix updates. Last week we released ReSharper 2021.1.4, which fixed a couple of issues in NRT analysis and source generator su

Hot Vacancies

.NET Developer

American startup, .NET

A developer is needed for an American startup that manages the operation and maintenance of residential complexes. This is a new project from scratch with a temporary integration of the old system (Web Forms, no code access).

.NET Backend Developer

Field Complete, .NET

Field Complete is a team of passionate, young & fun-loving professionals looking to change the uneffective way that Servicing Industry works on US markets. Field Complete is growing really fast. We are looking for a Back End Developer to build a top-level modern API, ready for high load. Strong expertise with:

Senior Xamarin Developer

DraftKings, Mobile

You will join a mobile team which is working on two very exciting projects, Sportsbook and Casino. The apps are used by users in the US, where we are working on the regulated markets. We are releasing apps every two weeks. Our apps are generating almost 75% of the company revenue and the user base is growing daily. Technical stack on the project: Xamarin.Forms, MVVM with DI, NewRelic, Azure + App Center etc. Switching to .Net MAUI in the nearest 2-3 months.

Senior .NET Engineer

DraftKings, .NET

You will be working in a large US-oriented company that puts as a priority: security, performance, and stability. The candidate will work on pushing a huge number of changes (several thousand per sec) to several thousand clients in a near real-time manner.

Middle strong .NET developer

SoftServe, .NET

Our customer is an American company that develops software for businesses to help manage their networks, systems, and information technology infrastructure. The company provides purpose-built products for IT professionals, MSPs, and DevOps pros.