• About
  • Privacy Policy
  • Utilities
Darchuk.NET

C#

Throttling execution through BlockingCollection

July 20, 2018 by Robert Leave a Comment

BlockingCollection is essentially a queue that provides a thread-safe way to consume items.  You can put it into a loop and consume the items one at a time, throttling execution and potentially preventing your system from being overwhelmed. I use these all the time, but most recently I built it in to a metric collection … [Read more…]

Posted in: C#, Concurrency Tagged: Blocking, BlockingCollection, C#, Concurrency, Execution, Optimization, Process, Queue, Throttle

Benchmarking C# Mongo–ReplaceOne vs. AddToSetEach

July 13, 2018 by Robert Leave a Comment

Recently I was looking at a MongoDB service and wondered if doing ReplaceOne was really the right call. My document was pretty simple – some identifying information that doesn’t change, and an array containing informational state that grows (never updates) as my program runs.  I set up the documents to update to the database every … [Read more…]

Posted in: Benchmark, C#, Mongo Tagged: AddToSetEach, Benchmark, C#, Database, InsertOne, Mongo, Performance, Update

Adding projects to the C# Interactive Window

July 6, 2018 by Robert Leave a Comment

The C# Interactive window allows you to use a C# REPL that can be pretty useful for testing something out quickly.  I’ve used it a bunch of times for formatting a DateTime to a string, because I can never quite remember which combination of characters results in what I want. In Visual Studio, you can … [Read more…]

Posted in: .NET Core, C#, Unit Testing Tagged: C#, C# Interactive, REPL, Testing, Visual Studio

Thread-Safe Atomic Operations

June 29, 2018 by Robert Leave a Comment

There’s been more than a couple times where I’ve wanted to use the Parallel class to take a collection and rip through it with multiple threads, but I’ve struggled with how to log the progress (especially the count of objects processed) easily. Interlocked .NET actually provides the solution in a static class called Interlocked, located … [Read more…]

Posted in: .NET Core, ASP.NET, Asynchronous, C#, Concurrency Tagged: .NET, C#, Concurrency, Thread, Thread Safe, threading

C# Reflection with Generics

June 22, 2018 by Robert 1 Comment

If you find yourself writing a lot of the same code (or copy/pasting it) for similar constructs, you should probably consider using generics.  It allows you to write a base class full of functionality that is basically the same across all of different classes, but in a way that doesn’t tie you to a specific … [Read more…]

Posted in: .NET Core, C#, Generic, Reflection Tagged: .NET, C#, Constructor, Generics, Parameter, Reflection, Template, Type

Automatically registering properties as implementations in AutoFac

May 25, 2018 by Robert Leave a Comment

In this post I talked about building out a configuration service that could be split into various areas of concerns so that each piece can be injected where it makes sense (without all of the noise of the rest of the configuration). Previously, the registration looked like this: Reflection With reflection, we can loop through … [Read more…]

Posted in: .NET Core, C#, IoC, Reflection Tagged: AutoFac, C#, Configuration, DI, IoC, Reflection

C# Mapping an Enum to a key value pair

May 18, 2018 by Robert 2 Comments

Enums are useful because they help you avoid magic numbers.  You can write your code in a way that is easy to read and understand from the human’s perspective, which, at the end of the day, is pretty important. Exposing enums on your Web API I want to share my enums with other things, notably … [Read more…]

Posted in: .NET Core, ASP.NET, C#, Typescript, Web API, Web Development Tagged: .NET, Angular, ASP.NET, C#, enum, Typescript, Web API

C# Printing Integers with leading zeroes

May 11, 2018 by Robert Leave a Comment

I’m writing this down because I find that I’ve googled it a couple of times and it always seems to take longer to figure out than I think it should. Say you have a number, but you want it to be padded with leading zeroes. So, 42 => 00042.  In my case, I was trying … [Read more…]

Posted in: C# Tagged: C#, format, leading, padleft, string, zero

Packing two small numbers into a single byte

April 27, 2018 by Robert 2 Comments

In this day and age, you don’t usually need to think about saving memory.  Need a whole number?  Just use an int!  Who really cares if the maximum value will never get above 255?  Using a byte is just archaic! Well, if you’re looking at optimizing network traffic or database usage, those bytes could add … [Read more…]

Posted in: C#, Generic Tagged: AND, Bit Shift, Bit Shifting, Bitwise, C#, OR

ASP.NET MVC — Unit Testing IActionResult

April 13, 2018 by Robert Leave a Comment

In the last post I talked about using and extending IActionResult to return your preferred HttpStatus code in your ASP.NET MVC controllers.  But how do you write unit tests that make sure that you’re returning what you expect?  Your controllers will return one of these: IActionResult There’s nothing on this interface that you can easily … [Read more…]

Posted in: .NET Core, ASP.NET, C#, MVC, Unit Testing, Web API, Web Development Tagged: .NET Core, ASP.NET, C#, Controller, IActionResult, MVC, unit testing, XUnit
« Previous 1 … 3 4 5 6 Next »

Recent Posts

  • Allowing trailing JSON commas in ASP.NET Core 3
  • YADNC3JSG–Yet Another .NET Core 3.0 JSON Serializer Gotcha
  • Logging in a .NET Core 3 SignalR client
  • .NET Core 3 unit testing project sdk
  • .NET Core 3.0 Upgrade–New JSON Serializer Gotchas

Recent Comments

  1. Robert on C# Setting Socket Keep-Alive
  2. Oliver Schramm on C# Setting Socket Keep-Alive
  3. John Anderson on Waiting for a keypress asynchronously in a C# console app
  4. Ronald Garlit on .NET Core 3 unit testing project sdk
  5. Ronald Garlit on .NET Core 3 unit testing project sdk

Copyright © 2025 Darchuk.NET.

Omega WordPress Theme by ThemeHall