Article on Multithreading With C#.NET

July 1st, 2013 | Posted by Vidya Vrat in .NET | C# | CLR - (0 Comments)

My latest article on Multithreading with C# .NET explains all you need to know to build successful enterprise applications.  This article emphasize on threading fundamentals, concepts, and techniques with code examples.

Read full article here on C# corner

 

The default upper limit of threads that the Thread pool will create by calling ThreadPool.SetMaxThreads.

• 1023 in .NET Framework 4.0 -32-bit environment
• 32768 in .NET Framework 4.0 – 64-bit environment
• 250 per core in .NET Framework 3.5
• 25 per core in .NET Framework 2.0

 

Validation is a process that ensures the sanity of data entered, received or processed by a software module, class or class members.  Some examples of validation are length check, range check, Null check, date range, specific character and so on.

Read full Article here: Validation Application Block

 

C# Delegates and Events

June 20th, 2013 | Posted by Vidya Vrat in .NET | C# - (0 Comments)

I spoke on C# 5.0 Async programming in a

C# Corner MVP Summit here is my session Recording.

YouTube – https://www.youtube.com/watch?v=J1ecBCSl1X0

I spoke on C# 5.0 Async programming in a

C# Corner MVP Summit here is my session Recording.

YouTube – https://www.youtube.com/watch?v=J1ecBCSl1X0

Delegates provide a way to define and execute callbacks. Their flexibility allows you to define the exact signature of the callback, and that information becomes part of the delegate type itself. Delegates are type-safe, object-oriented and secure.

Read my full article here CLR-Internals- Process and Application Domain

.NET Serialization

April 30th, 2013 | Posted by Vidya Vrat in .NET | Architecture | C# | CLR - (0 Comments)

Serialization is another great feature of .NET. This article talks about overall serialization in the .NET Framework and various available types such as binary, XML and SOAP. The prime objective of serialization is to persist and retrieve the state of an object. There are various scenarios where the ability to serialize objects is handy.

Read the full article here

 

As you know Microsoft .NET is designed with cross language interoperability. I.e. two .NET compliant languages can interoperate with each other. Which simply means a function in VB .NET can be called by C# and vice-versa.  Read my full article on .NET Cross Language Interoperability at C# Corner

 

Each .NET version is released with some significant improvements: .NET 1.0 – 2002 Initial version (1st release)
.NET 1.1 – 2003 Update on 1.0, added provider for Oracle
.NET 2.0 – 2005 Generics were introduced.
.NET 3.0 – 2007 WPF, WCF, WF were introduced
.NET3.5 – 2008  LINQ and ADO .NET Entity Framework
.NET 4.0 – 2010 Dynamic support for languages (dynamic keyword introduced)
.NET 4.5 – 2012 Asynchronous programming support (async and await keyword introduced).

 

In this post I will explain why .NET 4.5 doesn’t support and what is the benefit .NET 3.5 and .NET4.0 provides with their supported Client Profile flavor.
As we all know there are many type of applications and hence what is required by one application may not be necessarily required by other type of application. For example, System.Web is only used by ASP .NET / Web apps, this is of no use for Windows Forms app.Now if you think from a deployment’s point of view, you would want your installer to be as optimized and small as possible, so it takes minimum and required on the client machine, and this can be achieved by Client Profile flavor of.NET 3.5 and 4.0.
Let’s see how Microsoft made .NET Client Profile.Microsoft removed ASP .NET, MSBuild, Advanced WCF and Data support for Oracle to cut the framework into smaller and optimized footprint.

.NET 4.5 is already optimized and tuned for quicker deployment and takes small disk space. Hence, no more .NET 4.5 Client Profile.