public SystemInfoResponseMessage GetSystemInfo(SystemInfoRequestMessage request) { SystemInfoResponseMessage response = null; using (ChannelFactory<IVMSystem> channelFactory = new ChannelFactory<IVMSystem>("VMSystem")) { IVMSystem proxy = channelFactory.CreateChannel(this.endpoint); response = proxy.GetSystemInfo(request); } return response; }
public SystemInfoResponseMessage GetSystemInfo(SystemInfoRequestMessage request) { //TODO 现在是模拟数据 SystemInfoResponseMessage response = new SystemInfoResponseMessage(); foreach (string vmSystemName in request.Names) { SystemInfoResponseMessage.VMSystem vmSystem = new SystemInfoResponseMessage.VMSystem(); vmSystem.Status = true; vmSystem.Name = vmSystemName; vmSystem.CreateTime = "2012/12/12"; vmSystem.LastOperationTime = "2013/11/11"; response.VMSystyems.Add(vmSystem); } return response; }
public SystemInfoResponseMessage GetSystemInfo(SystemInfoRequestMessage request) { List<SystemInfoResponseMessage.VMSystem> outSystems = new List<SystemInfoResponseMessage.VMSystem>(); object syncRoot = new object(); Parallel.ForEach(Config.GetInstance("vmware.config").Machines, machine => { VMware manager = new VMware(machine.Address, machine.Username, machine.Password); List<SystemInfoResponseMessage.VMSystem> systems = manager.GetVMSystems(); lock (syncRoot) { outSystems = outSystems.Concat(systems).ToList(); } }); outSystems = outSystems.OrderBy(d => d.Name).ToList(); ; SystemInfoResponseMessage response = new SystemInfoResponseMessage(); response.VMSystyems = outSystems.Skip((request.pageIndex - 1) * request.pageSize).Take(request.pageSize).ToList(); return response; }