Quartz.Net is a .Net port of the popular Java job scheduling framework. It is an open source job scheduling system that can be used from smallest apps to large-scale enterprise systems.
Learn how to work with the Hashtable and Dictionary collection types and when to use one in lieu of the other in your applications
Constructors in C# initialize the members of the class to which they belong and design your classes with elegance
Explore ways to program the Windows Registry using C# to store and retrieve configuration information
Take advantage of the Decorator design pattern to add extensibility either dynamically or statically to your application
Operator overloading or ad-hoc polymorphism lets you work with user defined types much the same way you work with fundamental data types
Take advantage of PostSharp's compile-time weaving features to reduce code clutter and solidify your application’s code
In this post I would like to highlight a few performance optimization tips that would help you to prevent CPU outrages in your application.
Take advantage of the TPL Dataflow Library to implement producer / consumer pattern in .Net
Take advantage of a custom task scheduler to provide added functionalities over the default task scheduler and manage how tasks are scheduled in .Net
Take advantage of WCF to build light-weight RESTful services and keep the resource URIs clean and lean
Learn the best practices to create and schedule tasks efficiently in .Net using Task.Run and Task.Factory.StartNew methods
MSMQ is a simple, convenient, reliable and persistent backing store for storing your messages
You can leverage the TransactionScope class present in the System.Transactions namespace for efficient transaction management when working in .Net.
Take advantage of nullable types to assign 'no values' or 'null values' to value types when there is no value available
Take advantage of Hangfire, an open source job scheduling framework, to schedule fire-and-forget, recurring tasks in Web applications sans the need of a Windows Service
Take advantage of ASP.Net Web Hooks to send HTTP POST notifications within the context of the ASP.Net runtime
Take advantage of this popular AOP framework to seamlessly manage common functionalities like exception handling, logging, security, and transactions in your application
Take advantage of the various ways to version your Web API to make it more flexible and adaptable to changes while keeping the functionality intact
Explore value types and reference types in .Net and learn how and where they are stored
Weak references in .Net create references to large objects in your application that are used infrequently so that they can be reclaimed by the garbage collector if needed
A struct is a good choice when you need to create a user defined type that would hold a few value types
Leverage ADO.Net's ability to work in disconnected mode to enable your application to stay disconnected to the database, conserve the system resources, and reduce the network traffic
Explore ways to tweak the settings in machine.config file for improved performance
Learn how to build multilingual applications in .Net by leveraging the framework's built-in support for globalization
Explore ways to work with a WCF service programmatically without the service configuration files
Serialization converts an object's state into a stream of bytes so that it can be persisted in a permanent or temporary storage medium
Generalization, specialization and dependency define relationships between the objects in your application
Fluent NHibernate provides a Fluent API also enables you to use LINQ to query data on top of the NHibernate engine
Take advantage of reflection in .Net to inspect or retrieve metadata of a type at runtime
Take advantage of sessions to store and manage information pertaining to a logged user's session.
Take advantage of polymorphism to isolate interface from implementation and promote flexibility in your designs
Leverage collections in .Net to store to promote type safety, facilitate code reuse, and improve performance when working with in-memory collection of objects
Parallel LINQ enables you to optimize your queries by splitting them into parts so as to execute these parts in parallel and hence boost the query performance. In this article we would discuss PLINQ and how it can be used in applications.
Take advantage of Windows services to build applications that you want to run in the background or execute automatically at predefined intervals of time.
Leverage application domains to provide a level of isolation inside the managed environment so as to enable multiple applications to run in a single process
Take advantage of indexers in C# to access an instance of a class or a struct by using indexes
WCF has matured a lot over the years, and the new WCF 4.5 comes up with many significant improvements
Take advantage of sockets in C# to implement inter-process communication for the purpose of sharing data over a network
Take advantage of contracts, a standard followed in WCF to specify what your WCF service is supposed to do
Take advantage of the facade design pattern to provide a simplified interface to a set of sub systems and hence reduce the dependencies and complexities in your designs
Take advantage of the mission-critical capabilities in SQL Server 2016 for real time operational analytics, rich data visualizations and improved data security
Take advantage of performance counters to get an insight on the performance of your applications
Take advantage of thread pools to create and use threads on demand and improve the responsiveness of your application
Take advantage of attributes to embed metadata information to your assemblies and decorate the business objects in your C# application.
Take advantage of the FxCop library to build custom rules and enforce code quality
Take advantage of the Builder design pattern to create complex objects in a step by step manner
Leverage action results to return data as an HttpResponseMessage object from your Web API controller method
Explore ways to build and host your Web API in a separate process
Unsafe code helps you to write unmanaged code that wouldn't be handled by the execution environment of the CLR. This article takes a look at how we can work with unsafe code in the managed environment of .Net.