using CookComputing.XmlRpc; using Microsoft.AspNetCore.Mvc; using System.Net; using System.Net.Http; using System.Reflection; namespace IoTDameon.Controllers { public class HomeController : Controller { private IHttpClientFactory _httpClientFactory; public HomeController(IHttpClientFactory httpClientFactory) { _httpClientFactory = httpClientFactory; } public IActionResult Index() { this.Process(); return Content(""); } private void Process(bool stop = false) { try { var proxy = XmlRpcProxyGen.Create(); proxy.Url = "http://192.168.1.3:9001/RPC2"; proxy.Credentials = new NetworkCredential("usr", "pwd"); var result = stop ? proxy.stopProcess("iotnode") : proxy.startProcess("iotnode"); } catch (XmlRpcFaultException ex) { //start:60 stop:70 if (ex.FaultCode != 60 && ex.FaultCode != 70) { throw ex; } } } public IActionResult GetVersion() { return Content(Assembly.GetEntryAssembly().GetCustomAttribute().InformationalVersion); } } }