/// <summary> /// Imports a list of servers from a file. /// </summary> /// <param name="filePath">The file path.</param> /// <param name="register">if set to <c>true</c> the server is registered, otherwise unregistered.</param> public static void Import(string filePath, bool register) { Export.ListOfRegisteredServers _list = new Export.ListOfRegisteredServers(); // read from file. XmlTextReader _reader = new XmlTextReader(filePath); XmlSerializer _serializer = new XmlSerializer(typeof(Export.ListOfRegisteredServers), CommonDefinitions.ConfigToolSchemaUri); Export.ListOfRegisteredServers _servers = (Export.ListOfRegisteredServers)_serializer.Deserialize(_reader); _reader.Close(); if (CommonDefinitions.IsEmpty(_servers.Server)) { return; } // registers the servers. for (int ii = 0; ii < _servers.Server.Length; ii++) { RegisteredDotNetOpcServer server = Import(_servers.Server[ii]); if (register) { server.Register(); } else { server.Unregister(); } } }
/// <summary> /// Imports a server from an export file. /// </summary> /// <param name="serverToImport">The server to import.</param> /// <returns>RegisteredDotNetOpcServer.</returns> private static RegisteredDotNetOpcServer Import(Export.RegisteredServer serverToImport) { RegisteredDotNetOpcServer server = new RegisteredDotNetOpcServer(); // assign clsid if none specified. if (String.IsNullOrEmpty(serverToImport.Clsid)) { server.CLSID = Utils.CLSIDFromProgID(serverToImport.ProgId); if (server.CLSID == Guid.Empty) { server.CLSID = Guid.NewGuid(); } } else { server.CLSID = new Guid(serverToImport.Clsid); } // get prog id and description. server.ProgId = serverToImport.ProgId; server.Description = serverToImport.Description; // parse wrapper clsid/prog id. try { server.WrapperCLSID = new Guid(serverToImport.WrapperClsid); } catch { server.WrapperCLSID = Utils.CLSIDFromProgID(serverToImport.WrapperClsid); } // parse wrapped server clsid/prog id. try { server.ServerCLSID = new Guid(serverToImport.ServerClsid); } catch { server.ServerCLSID = Utils.CLSIDFromProgID(serverToImport.ServerClsid); } // read parameters. server.Parameters.Clear(); if (!CommonDefinitions.IsEmpty(serverToImport.Parameter)) { for (int ii = 0; ii < serverToImport.Parameter.Length; ii++) { Export.Parameter parameter = serverToImport.Parameter[ii]; if (parameter != null && !String.IsNullOrEmpty(parameter.Name)) { server.Parameters.Add(parameter.Name, parameter.Value); } } } // return new server. return(server); }
/// <summary> /// Creates the message. /// </summary> /// <param name="at">At.</param> /// <param name="details">if set to <c>true</c> a string representation of the frames on the call stack at the time the current exception was thrown is also provided.</param> /// <returns><see cref="Literal"/> providing the formated exception message.</returns> public Literal CreateMessage(string at, bool details) { Literal _return = new Literal() { Text = CommonDefinitions.Convert2ErrorMessageFormat(Message) }; if (details) { _return.Text += "Stack trace: + " + StackTrace; } return(_return); }
private void ShowActionResult(GenericStateMachineEngine.ActionResult _rslt) { if (_rslt.LastActionResult == GenericStateMachineEngine.ActionResult.Result.Success) { return; } if (_rslt.LastActionResult == GenericStateMachineEngine.ActionResult.Result.Exception) { #if DEBUG string _format = CommonDefinitions.Convert2ErrorMessageFormat("Exception at: {0}/{1} of : {2}."); this.Controls.Add(GlobalDefinitions.ErrorLiteralControl(String.Format(_format, _rslt.ActionException.Source, At, _rslt.ActionException.Message))); #endif Anons.WriteEntry(EDC, _rslt.ActionException.Source, _rslt.ActionException.Message); } else { string _format = CommonDefinitions.Convert2ErrorMessageFormat("Validation error at: {0}/{1} of : {2}."); this.Controls.Add(GlobalDefinitions.ErrorLiteralControl(String.Format(_format, _rslt.ActionException.Source, At, _rslt.ActionException.Message))); } }