c# - ServiceController shows incorrect MachineName -


i have following code

    private datatable getservices(string[] servicenames)     {         datatable dt = new datatable("services");         dt.columns.add("machinename", typeof(string));         dt.columns.add("servicename", typeof(string));         dt.columns.add("servicestatus", typeof(string));          servicecontroller[] services = servicecontroller.getservices();         foreach (servicecontroller sctemp in services)         {             if (servicenames.contains(sctemp.displayname))             {                  dt.rows.add(sctemp.machinename, sctemp.displayname, sctemp.status);             }         }         return dt;     } 

it returns following

machinename,servicename,servicestatus
.,adobe flash player update service,stopped
.,application experience,running
.,application layer gateway service,stopped
.,application host helper service,running

sctemp.machinename returns .

how can return real computer name?

the "." indicates local computer. use real machinename can use property machinename of class environment.

to solve problem need add custom mapping if machinename of servicecontroller returns ".".

if (sctemp.machinename.equals(".")) {   dt.rows.add(environment.machinename, sctemp.displayname, sctemp.status); } else {   dt.rows.add(sctemp.machinename, sctemp.displayname, sctemp.status); } 

Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -