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

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#

Using adapter pattern to parse HTML with C# and AgilityPack

Recently I faced with a business requirement about extracting informations from some html pages and display them in a local application. The principal problem that I found was that the result were in html format and I needed to transform that in a c# object, in order to be able to manage the informations in … Continue reading Using adapter pattern to parse HTML with C# and AgilityPack