示例#1
0
        /// <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();
                }
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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)));
            }
        }