/// <summary>
        /// GetComputerInformations method implementation
        /// </summary>
        internal ADFSNodeInformation GetNodeInformations(RegistryVersion reg, string servername, bool dispatch = true)
        {
            string fqdn = Dns.GetHostEntry("localhost").HostName.ToLower();

            if (fqdn.ToLower().Equals(servername.ToLower()))
            {
                string nodetype          = GetLocalNodeType();
                ADFSNodeInformation node = GetLocalNodeInformations(reg, servername);
                node.NodeType = nodetype;
                return(node);
            }
            else
            {
                if (dispatch)
                {
                    WebAdminClient manager = new WebAdminClient();
                    manager.Initialize(servername);
                    try
                    {
                        IWebAdminServices client = manager.Open();
                        try
                        {
                            string nodetype          = client.GetNodeType(servername, false);
                            ADFSNodeInformation node = node = GetLocalNodeInformations(reg, servername);
                            node.NodeType = nodetype;
                            return(node);
                        }
                        finally
                        {
                            manager.Close(client);
                        }
                    }
                    catch (Exception e)
                    {
                        _log.WriteEntry(string.Format("Error on WebAdminService Service GetNodeInformations method : {0} / {1}.", servername, e.Message), EventLogEntryType.Error, 2010);
                        throw e;
                    }
                    finally
                    {
                        manager.UnInitialize();
                    }
                }
                else
                {
                    throw new Exception();
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// GetNodeType method informations
        /// </summary>
        public static string GetNodeType(string fqdn)
        {
            WebAdminClient manager = new WebAdminClient();

            manager.Initialize();
            try
            {
                IWebAdminServices client = manager.Open();
                try
                {
                    return(client.GetNodeType(fqdn, true));
                }
                finally
                {
                    manager.Close(client);
                }
            }
            finally
            {
                manager.UnInitialize();
            }
        }