Managing SSH connections with C# Part 2

As discussed in the previous post, disposing an SSH connection is very important to free the port and leave it usable to the next connection. Unfortunately, implementing the connector as disposable is not enought, because if the application crash or stop unexpectedly, the dispose method will no be called and the port will remain busy … Continue reading Managing SSH connections with C# Part 2

Migrate csproj file from VS 2015 to VS 2017 and .NET SDK

With the release of Visual Studio 2017 and the introduction of .NET Core, Microsoft has implemented a new version of csproj files, simplier, lighter and easier to mantain and modify. The new version has nothing in common with the older and if we want to migrate the older Visual Studio 2015 projects to the newer … Continue reading Migrate csproj file from VS 2015 to VS 2017 and .NET SDK

Asynchronous programming with TaskCompletionSource

Asynchronous programming was the main improvement introduced in C# 5 in the late 2012. The class and methods introduced are conformed to a model which that is easily to implement asynchronous operations and it follow some rules and specifications knows as Task-based Asynchronous Pattern. One of the class that we can use is the TaskCompletionSource … Continue reading Asynchronous programming with TaskCompletionSource

Generic object factory for classes with non public constructor in C#

In this post I want to talk about a common need that we could have in an applications, that is an object factory. Of course, we could have different requirements about the implementation of it, but the most widespread is a generic factory like this: This is a very simple implementation, but with the new … Continue reading Generic object factory for classes with non public constructor in C#