Retrieve The Status of a Windows Service

Here is an easy way to get the status of a Windows service. ''' <summary> ''' Gets the status of a Windows service. ''' </summary> ''' <param name="serviceName">Name of the service.</param> ''' <returns>ServiceControllerStatus.</returns> ''' <exception cref="InvalidOperationException">Service not  found.</exception> ''' <exception cref="System.InvalidOperationException">Service  not found.</exception> Public Function ServiceStatus(serviceName As String)  As ServiceControllerStatus     Dim service As ServiceController = LoadService(serviceName)     If service IsNot Nothing Then         Return service.Status     Else         Throw New InvalidOperationException("Service not  found.")     End If End Function ''' <summary> ''' Loads the service. ''' </summary> ''' <param name="serviceName">Name of the service.</param> ''' <returns>ServiceController.</returns> Private Function LoadService(serviceName As String) As  ServiceController     Return ServiceController.GetServices().Where(Function(p)  p.ServiceName = serviceName).FirstOrDefault() End Function Here are the values for service status: ContinuePending Paused PausePending Running StartPending [...]

Properly Implementing the Singleton Pattern

One of the popular coding patterns is called Singleton. I use it currently in my dotNetTips Dev Utility for the configuration object. The pattern is defined: In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one object. This is useful when exactly one object is [...]

dotNetDave Rocks Azure BootCamp – 2017

For the first time I will speaking at the Azure BootCamp in Southern California on Saturday April 22nd. I hope to see you there. I will be doing the session below. Rock Your Development With A Real World Example This session will demonstrate concepts in the first four parts of my series titled "Improving Code [...]

.NET Framework => Core: LINQ AsParallel

In the .NET Framework, if we wanted to process a loop on multiple cores, we simply added AsParallell to the end of the collection as seen below: var files = new List(); foreach (var directory in directories.AsParallel()) {   if (directory.Exists)   {     var foundFiles = directory.EnumerateFiles(searchPattern, searchOption);   lock (files)   {   [...]

Rock Your Microsoft .NET Coding Standards (2017)

I've released a brand new video of my conference session titled "Rock Your Microsoft .NET Coding Standards" on demand. This video has lots of new tips, tricks and guidance. To see this session, live and in person click here to check out my conference schedule. Rock Your Microsoft .NET Coding Standards from David McCarter on [...]