Author Archives: Idan Reuven

About Idan Reuven

Idan is Microsoft Certified Proffesional Developer (MCPD) Idan Working As Senior Software developer. and specialize in professional application development with WPF, WCF, Entity Framework, XAML, HTML 5, Java Script , jQuery, MVC, MVVM, C#, C++, SQL Server Technologies.

Connect IoT Devices by using RabbitMQ and MQTT.

There is a growing change in the software world these days, due to increase of IoT devices. We live in a world where real time information is important, and one of the challenges that software projects dealing with is how … Continue reading

Posted in .NET, .NET 4.5, C# 6, MQTT, RabbitMQ | Leave a comment

Async programming and scalability with C# 5

What is Scalability? Scalability is the ability of a system to expand to meet your business needs. You scale a system by adding extra hardware or by upgrading the existing hardware without changing much of the application. In the context … Continue reading

Posted in .NET, .NET 4.5, C# 5 | Leave a comment

Prism vs Caliburn.Micro

After several years of work with Prism (, I introduced Caliburn.Micro framework ( for building MVVM applications. In this post I’m going to explore the Caliburn.Micro features over Prism features. What are the advantages and disadvantages of each framework, and … Continue reading

Posted in .NET | Leave a comment

My C# 6 Favorite Features

Recently Microsoft released Visual Studio 2015 and the new C# 6 language. I want to share with you my favorite features of C# 6. Null conditional operator: Every developer hate to get NullReferenceException when the application running, this means we … Continue reading

Posted in C# 6, WPF | Tagged | Leave a comment

Closures in c#

As a c# developers we write a lot of lambda expressions. And with lambda expressions we can access variables outside the expression block. For Example: class Program { static Func<int,int> Add; static void Main(string[] args) { int x = 5; … Continue reading

Posted in .NET, .NET 4.5, C# 5 | Tagged | Leave a comment

IDispose and Finalize relations in .NET

What is IDispose in .NET? The IDispose interface gives the programmer way to free unmanaged resources and events handlers, in order to avoid memory leaks. For example: public class UnmanagedResourceUser :IDisposable { public void Dispose() { //Free unmanaged resources } … Continue reading

Posted in .NET 4.5 | Tagged | Leave a comment

What’s the difference between Task.ContinueWith and await?

In the .NET there are many ways to implement asynchronous programs. We can use the Task, Task<T> or await keyword to write asynchronous programs. For Example: Task<IPAddress[]> addresses = Dns.GetHostAddressAsync(“”); addresses.ContinueWith(parameter =>      { IPAddress[] ipAddresses = addresses.Result; }); As … Continue reading

Posted in .NET, .NET 4.5, C# 5 | Leave a comment