Rx.NET Rx.NET Buffer concurrency Rx.NET, part of ReactiveX, contains Buffer operator which does: periodically gather items emitted by an Observable into bundles and emit these bundles rather than emitting the items one at a time There
Performance Enums parsing performance Introduction Enum type has few helper methods which make parsing strings into related enum value easy. There is Parse, as well as TryParse. Both can takes an extra parameter to specify whether the
RabbitMQ Performance of Delayed Message Exchange The RabbitMQ has new exchange type which allows for delayed message delivery. You can read more about the Delayed Message plugin here and here.
RabbitMQ RabbitMQ gets support for delayed messages delivery Recently, new plugin for RabbitMQ was created which provides support for delayed messaging. The plugin adds new exchange type to RabbitMQ which will store messages internally, using Mnesia, until they are scheduled for
Debugging Visual Studio Debugger Tips and Tricks: pseudovariables There are two pseudovariables available in debugger when running C# or VB.NET project: $exception and $user. The former one relates to the last exception while the latter one displays information about the
RabbitMQ Cost comparison between Azure Service Bus Queues and RabbitMQ This post is a follow up to the UK Azure User Group presentation I gave yesterday about running RabbitMQ in Azure. When deciding on messaging system to use in your cloud solution, one
Debugging Visual Studio Debugger Tips and Tricks: Tracepoints This time I want to present you Tracepoints in Visual Studio debugger. Tracepoints are special kind of break points which allows you to specify an action to execute when hit. The most common
Refactoring Give life to parameter objects (part 3): DebuggerDisplayAttribute Previous posts in the series:Give life to parameter objectsGive life to parameter objects (part 2)In this post I want to show you how to enhance debugging experience. Last time we left
Refactoring Give life to parameter objects (part 2) In the previous post I wrote about my usual second step in refactoring to Parameter Object – moving related validation code. This is really easy to do and greatly de-clutters the method. Now it
Refactoring Give life to parameter objects. In his article “Using Objects as Parameters in C#” Peter Shaw explains common problems with methods having large number of parameters and shows how to refactor those to use objects.I would actually
Debugging Visual Studio Debugger Tips and Tricks: show parameter values in call stack window Today’s Tips’n’Trick is one which I value a lot. Lets say you are in the debugging session and you look at the Call Stack window to check what methods were
Debugging Visual Studio Debugger Tips and Tricks: Set Next Statement In the last Visual Studio Debugger Tips’n’Tricks I showed Run To Cursor option which allows for running debugger and breaking in selected line. Today I am going to present another option
Debugging Visual Studio Debugger Tips and Tricks: Run to Cursor Imagine, you are in the debugging mode and the next statement is a loop. You do not want to step into this loop and waste time on iterating over items but you also
Debugging Visual Studio Debugger Tips and Tricks: step into specific We all try to keep our code concise, so from time to time there is one line which calls several methods, like this one:PrintMessage(FormatResult(text, ReverseString(text))); When debugging your code
Debugging Visual Studio Debugger Tips and Tricks: step out How many times did you step into a method just to realise you didn’t want to? Sometimes it is a simple, short method and you can step through it. Other times it
Patterns Single Responsibility Principle applied to exception logging In the previous post How to log exceptions I said that you should let your logging framework handle exception logging. In this post I will explain why it is a bad idea to
RabbitMQ How to choose prefetch count value for RabbitMQ In this article I am going to present few rules I use when selecting prefetch count value for RabbitMQ. Those rules are based on the experience I gained when working with RabbitMQ. You
EasyNetQ How to process messages in parallel using EasyNetQ The IBus interface from [EasyNetQ][1] framework has SubscribeAsync() method which allows easily to span message handling between different threads. It uses standard TPL Tasks for delegating handler execution. Depending on the application,
EasyNetQ How to allow EasyNetQ finish processing message on application stop This post was written as an answer to one of the questions on EasyNetQ user group.The main principle of [EasyNetQ][1] bus is simplicity. It greatly abstracts nuances of communicating with RabbitMQ
EasyNetQ Tell EasyNetQ bus what Queue name to use for your messages When you consume messages from EasyNetQ bus you do not need to worry about naming and creating queues or exchanges. That’s done for you. The framework will use a pattern when generating
EasyNetQ EasyNetQ – methods for delivering messages When designing your system you have few options on how the messages will be delivered to your consumers:messages are delivered in round-robin fashion – this is a great option for distributed, load balanced
C# How to log exceptions If you log exceptions by saving it’s message: logger.Error("Operation failed." + ex.Message); or it’s string representation: logger.Error("Operation failed." + ex.ToString()); you do it
EasyNetQ Using complex type messages with EasyNetQ This is the second post in series about EasyNetQ. In the first post I am explaining how to install RabbitMQ and write simple application which publishes and consumes string messages. Complex type message
RabbitMQ EasyNetQ with RabbitMQ – easy way to messaging Few people have asked me already how to start using RabbitMQ in .NET, so I decided to write a short post about it. Installation First, visit erlang’s page, download erlang distribution according
PowerShell Invoke-RestMethod cmdlet proxy – more on un-escaping forward slashes in URIs Recently I posted an article showing how to prevent Invoke-RestMethod from unescaping dots and slashes. Soon after that I got a great advice from Dave Wyatt, moderator for powershell.org forum. What he