コード例 #1
0
        public void Post(IEnumerable <ISite> sites)
        {
            List <SiteConnectionString> siteConnectionStrings = new List <SiteConnectionString>();

            foreach (ISite site in sites)
            {
                if (site.AppType != "Root")
                {
                    continue;
                }

                ISiteWebConfiguration webconfig = site.GetConfiguration();
                if (webconfig == null)
                {
                    continue;
                }

                IEnumerable <SiteConnectionString> connectionStrings = site.GetRawConnectionStrings();

                if (connectionStrings != null)
                {
                    siteConnectionStrings.AddRange(connectionStrings);
                }
            }

            if (siteConnectionStrings.Count > 0)
            {
                PackageManager packageManager = PackageManager.GetManager();
                IEnumerable    packs          = packageManager.GetPacks(siteConnectionStrings);
                foreach (IEnumerable <SiteConnectionString> pack in packs)
                {
                    WebTransfer.PostSiteConnectionString(pack);
                }
            }
        }
コード例 #2
0
        public static IEnumerable <SiteEndpoint> GetRawEndpoints(this ISite site)
        {
            try
            {
                ISiteWebConfiguration webconfig = site.GetConfiguration();
                if (webconfig == null)
                {
                    return(null);
                }

                IEnumerable <KeyValuePair <string, string> > rawEndpoints = webconfig.ContentRaw.GetRawEndpoints(site.Name);
                IEnumerable <SiteEndpoint> endpoints = rawEndpoints?.Select(ep => new SiteEndpoint
                {
                    SiteId        = site.Id,
                    Site          = (Site)site,
                    EndpointName  = ep.Key,
                    EndpointUrl   = ep.Value,
                    Port          = ep.Value.GetPort(),
                    IsAvailable   = true,
                    LastCheckDate = DateTime.Now,
                    DeleteStatus  = false,
                    SendAlertMailWhenUnavailable = true
                });
                return(endpoints);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Exception(ex);
                return(null);
            }
        }
コード例 #3
0
        public void Post(ISite site)
        {
            ISiteWebConfiguration webconfig = site.GetConfiguration();

            if (webconfig == null)
            {
                return;
            }

            IEnumerable <SiteConnectionString> connectionStrings = site.GetRawConnectionStrings();

            if (connectionStrings == null)
            {
                return;
            }
            WebTransfer.PostSiteConnectionString(connectionStrings);
        }
コード例 #4
0
        /// <summary>
        /// Get Raw Connectionstrings from site
        /// </summary>
        /// <param name="site"></param>
        /// <returns></returns>
        public static IEnumerable <SiteConnectionString> GetRawConnectionStrings(this ISite site)
        {
            try
            {
                ISiteWebConfiguration webconfig = site.GetConfiguration();
                if (webconfig == null)
                {
                    return(null);
                }

                IEnumerable <KeyValuePair <string, string> > rawConnectionstrings = webconfig.ContentRaw.GetRawConnectionStrings();
                IEnumerable <SiteConnectionString>           connectionStrings    = rawConnectionstrings?.Select(cs => GetConnectionString(cs.Value, cs.Key, site.Id));

                return(connectionStrings);
            }
            catch (Exception ex)
            {
                ExceptionHandler.Exception(ex);
                return(null);
            }
        }