Today I had to troubleshoot a mail problem on a web server. I needed to determine if the SMTP Service was running. I used to have an ASP script to list Windows Services and their status but I needed something written in ASP.NET. As usual, I had problems finding any sample code on the Internet and there was a technical issue that frustrated me. The technical problem is that you need to manually add a reference to System.ServiceProcess in Visual Studio.NET 2003. You cannot use an Imports statement to reference that Namespace.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here ' Define a DataSet with a single DataTable. ds.Clear() ds.Tables.Add("Services") ' Define two columns for this table. ds.Tables("Services").Columns.Add("service_name") ds.Tables("Services").Columns.Add("service_status") Try Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetServices() Dim iCounter As Integer For iCounter = 0 To services.Length - 1 rs = ds.Tables("Services").NewRow() rs("service_name") = services(iCounter).DisplayName rs("service_status") = services(iCounter).Status ds.Tables("Services").Rows.Add(rs) Next rptServices.DataSource = ds rptServices.DataBind() Catch ex As Exception lblError.Text = ex.Message & "<br>" & ex.StackTrace End Try End Sub