private void GetAssembly(SubsystemService subsystemService) { try { EnumSystemOperationMode mode = (EnumSystemOperationMode)Enum.Parse(typeof(EnumSystemOperationMode), ConfigurationManager.AppSettings["SystemOperationMode"]); if (!Directory.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, mode.ToString()))) { Directory.CreateDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, mode.ToString())); } using (SubsystemEndpoint subsystemEndPoint = new SubsystemEndpoint(new TCPBinding(), subsystemService.EndpointAddress)) { subsystemEndPoint.Open(); GetAssemblyParameterMessage msg = new GetAssemblyParameterMessage(mode); SubsystemAssembly assembly = subsystemEndPoint.GetAssembly(msg); //save the assembly locally subsystemService.ZippedFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, mode.ToString(), assembly.filename); using (FileStream stream = new FileStream(subsystemService.ZippedFilename, FileMode.Create)) { assembly.file.CopyTo(stream); } } if (SubsystemServiceListUpdateEvent != null) { SubsystemServiceListUpdateEvent(subsystemService.Alias, SubsystemUpdateEnum.SubsystemConnect, subsystemService.ZippedFilename); } } catch (Exception ex) { RemoveSubsystem(subsystemService); _Logger.LogError(ex); } }
public GetAssemblyParameterMessage(EnumSystemOperationMode mode) { SystemMode = mode; }
public GetAssemblyParameterMessage(EnumSystemOperationMode mode) { SystemMode = mode; }