private void InitializeSites() { if (DynamicSiteSettings.GetSiteCache.Count() > 0 && _sites != null && _dynamicSiteDictionary.Count > 0) return; Assert.IsNotNullOrEmpty(_dynamicConfigPath, "No siteConfig specified in DynamicSiteProvider configuration."); var collection = new SiteCollection(); var nodes = Factory.GetConfigNodes(FileUtil.MakePath(_dynamicConfigPath, "defaultsite", '/')); Assert.IsFalse((nodes.Count > 1 ? 1 : 0) != 0, "Duplicate Dynamic Default Site Definition."); if (nodes.Count == 0) return; var defaultSite = ParseDefaultNode(nodes[0]); //Create Dictionary var siteDictionary = DynamicSiteManager.GetDynamicSitesDictionary(defaultSite); //Set Site Collection foreach (var keyValuePair in siteDictionary) { collection.Add(keyValuePair.Value); } ResolveInheritance(collection, siteDictionary); _sites = collection; _dynamicSiteDictionary = siteDictionary; }
private void InitializeSites() { if (DynamicSiteSettings.GetSiteCache.Count() > 0 && _sites != null && _dynamicSiteDictionary.Count > 0) { return; } Assert.IsNotNullOrEmpty(_dynamicConfigPath, "No siteConfig specified in DynamicSiteProvider configuration."); var collection = new SiteCollection(); var nodes = Factory.GetConfigNodes(FileUtil.MakePath(_dynamicConfigPath, "defaultsite", '/')); Assert.IsFalse((nodes.Count > 1 ? 1 : 0) != 0, "Duplicate Dynamic Default Site Definition."); if (nodes.Count == 0) { return; } var defaultSite = ParseDefaultNode(nodes[0]); //Create Dictionary var siteDictionary = DynamicSiteManager.GetDynamicSitesDictionary(defaultSite); //Set Site Collection foreach (var keyValuePair in siteDictionary) { collection.Add(keyValuePair.Value); } ResolveInheritance(collection, siteDictionary); _sites = collection; _dynamicSiteDictionary = siteDictionary; }
private static bool CreateSiteInIIS(SiteCollection sites, SiteDTO dto) { try { var site = sites.CreateElement(); site.Id = dto.SiteId; site.SetAttributeValue("name", dto.SiteName); sites.Add(site); var app = site.Applications.CreateElement(); app.SetAttributeValue("path", "/"); app.SetAttributeValue("applicationPool", dto.PoolName); site.Applications.Add(app); var vdir = app.VirtualDirectories.CreateElement(); vdir.SetAttributeValue("path", "/"); vdir.SetAttributeValue("physicalPath", string.Format(@"{0}\{1}", dto.RootDir, dto.SiteName)); app.VirtualDirectories.Add(vdir); var binding = site.Bindings.CreateElement(); binding.SetAttributeValue("protocol", "http"); binding.SetAttributeValue("bindingInformation", string.Format(@":{0}:{1}", dto.Port, dto.SiteName)); site.Bindings.Add(binding); } catch (Exception ex) { Console.WriteLine("Create site {0} failed. Reason: {1}", dto.SiteName, ex.Message); return(false); } return(true); }
private void InitializeSites() { Database database = Factory.GetDatabase(DatabaseName, false); if (database == null) return; if (_siteDictionary != null && _siteDictionary.Any()) return; lock (_lock) { if (_siteDictionary != null && _siteDictionary.Any()) return; var sitesCollection = new SiteCollection(); var siteDictionary = new SafeDictionary<string, Site>(StringComparer.InvariantCultureIgnoreCase); foreach (Item siteItem in GetSiteDeinitionItems(database)) { Site site = ResolveSite(siteItem); if (site != null) { siteDictionary[site.Name] = site; sitesCollection.Add(site); } } _sitesCollection = sitesCollection; _siteDictionary = siteDictionary; } }
public static Site AddNewWithDefaults(this SiteCollection sites) { string defaultSiteName = string.Format("Site{0}", sites.Count + 1); string uniquePath = Assembly.GetCallingAssembly().ParentDirectoryPath(); var site = sites.Add(defaultSiteName, uniquePath, 80); site.Id = sites.Max(x => x.Id) + 1; site.Bindings.Clear(); return(site); }
public SiteCollection GetAllSites([NotNull] IEnumerable orderedList) { var collection = new SiteCollection(); foreach (string siteName in orderedList) { collection.Add(GetSite(siteName)); } return(collection); }
public SiteCollection GetAllSites([NotNull] IEnumerable orderedList) { var collection = new SiteCollection(); foreach (string siteName in orderedList) { collection.Add(GetSite(siteName)); } return collection; }
public void CreateSiteEx(int siteId, string siteName, string poolName, string dirRoot, string Ip, int Port, string host) { try { using (ServerManager serverManager = GetServerManager()) { string bindingInfo = ""; if (Ip == null) { Ip = "*"; } bindingInfo += Ip; bindingInfo += ":"; bindingInfo += Port; bindingInfo += ":"; if (host != null) { bindingInfo += host; } TestUtility.LogTrace(String.Format("#################### Adding Site {0} with App Pool {1} with BindingInfo {2} ####################", siteName, poolName, bindingInfo)); SiteCollection sites = serverManager.Sites; Site site = sites.CreateElement(); site.Id = siteId; site.SetAttributeValue("name", siteName); sites.Add(site); Application app = site.Applications.CreateElement(); app.SetAttributeValue("path", "/"); app.SetAttributeValue("applicationPool", poolName); site.Applications.Add(app); VirtualDirectory vdir = app.VirtualDirectories.CreateElement(); vdir.SetAttributeValue("path", "/"); vdir.SetAttributeValue("physicalPath", dirRoot); app.VirtualDirectories.Add(vdir); Binding b = site.Bindings.CreateElement(); b.SetAttributeValue("protocol", "http"); b.SetAttributeValue("bindingInformation", bindingInfo); site.Bindings.Add(b); serverManager.CommitChanges(); } } catch (Exception ex) { TestUtility.LogInformation(String.Format("#################### Create site {0} failed. Reason: {1} ####################", siteName, ex.Message)); } }
static bool CreateSitesInIIS(SiteCollection sites, string sitePrefix, int siteId, string dirRoot) { string siteName = sitePrefix + siteId; // site gets set to Poolname using the following format. Example: 'Site_POOL10' string poolName = POOLPREFIX + sitePrefix + siteId; try { Site site = sites.CreateElement(); site.Id = siteId; site.SetAttributeValue("name", siteName); sites.Add(site); Application app = site.Applications.CreateElement(); app.SetAttributeValue("path", "/"); app.SetAttributeValue("applicationPool", poolName); site.Applications.Add(app); VirtualDirectory vdir = app.VirtualDirectories.CreateElement(); vdir.SetAttributeValue("path", "/"); vdir.SetAttributeValue("physicalPath", dirRoot + @"\" + siteName); app.VirtualDirectories.Add(vdir); Binding b = site.Bindings.CreateElement(); b.SetAttributeValue("protocol", "http"); b.SetAttributeValue("bindingInformation", ":80:" + siteName); site.Bindings.Add(b); } catch (Exception ex) { Console.WriteLine("Create site {0} failed. Reason: {1}", siteName, ex.Message); return(false); } return(true); }
/// <summary> /// Get the Freedb sites /// </summary> /// <param name="protocol"></param> /// <param name="sites">SiteCollection that is populated with the site information</param> /// <returns>Response Code</returns> /// public string GetSites(string protocol, out SiteCollection sites) { if (protocol != Site.PROTOCOLS.CDDBP && protocol != Site.PROTOCOLS.HTTP) { protocol = Site.PROTOCOLS.ALL; } StringCollection coll; try { coll = Call(Commands.CMD_SITES, m_mainSite.GetUrl()); } catch (Exception ex) { Debug.WriteLine("Error retrieving Sites." + ex.Message); Exception newEx = new Exception("FreedbHelper.GetSites: Error retrieving Sites.", ex); throw newEx; } sites = null; // check if results came back if (coll.Count < 0) { string msg = "No results returned from sites request."; Exception ex = new Exception(msg, null); throw ex; } string code = GetCode(coll[0]); if (code == ResponseCodes.CODE_INVALID) { string msg = "Unable to process results Sites Request. Returned Data: " + coll[0]; Exception ex = new Exception(msg, null); throw ex; } switch (code) { case ResponseCodes.CODE_500: return(ResponseCodes.CODE_500); case ResponseCodes.CODE_401: return(ResponseCodes.CODE_401); case ResponseCodes.CODE_210: { coll.RemoveAt(0); sites = new SiteCollection(); foreach (String line in coll) { Debug.WriteLine("line: " + line); Site site = new Site(line); if (protocol == Site.PROTOCOLS.ALL) { sites.Add(new Site(line)); } else if (site.Protocol == protocol) { sites.Add(new Site(line)); } } return(ResponseCodes.CODE_210); } default: return(ResponseCodes.CODE_500); } }
private static bool CreateSiteInIIS(SiteCollection sites, SiteDTO dto) { try { var site = sites.CreateElement(); site.Id = dto.SiteId; site.SetAttributeValue("name", dto.SiteName); sites.Add(site); var app = site.Applications.CreateElement(); app.SetAttributeValue("path", "/"); app.SetAttributeValue("applicationPool", dto.PoolName); site.Applications.Add(app); var vdir = app.VirtualDirectories.CreateElement(); vdir.SetAttributeValue("path", "/"); vdir.SetAttributeValue("physicalPath", string.Format(@"{0}\{1}", dto.RootDir, dto.SiteName)); app.VirtualDirectories.Add(vdir); var binding = site.Bindings.CreateElement(); binding.SetAttributeValue("protocol", "http"); binding.SetAttributeValue("bindingInformation", string.Format(@":{0}:{1}", dto.Port, dto.SiteName)); site.Bindings.Add(binding); } catch (Exception ex) { Console.WriteLine("Create site {0} failed. Reason: {1}", dto.SiteName, ex.Message); return false; } return true; }
public void ConfigureApplicationSite(ApplicationSiteModel applicationSite = null) { if (applicationSite == null) { applicationSite = ApplicationSiteParseConfig(applicationSiteFilePath); } if (applicationSite != null) { try { if (!Directory.Exists(applicationSite.PhysicalPath.Destination)) { _logger.InfoFormat("[{0}] - ApplicationSite PhysicalPath Destination doesn't exists, failed to copy, can't create ApplicationSite", MethodInfo.GetCurrentMethod().Name); _logger.InfoFormat("[{0}] - =============================================", MethodInfo.GetCurrentMethod().Name); return; } string applicationName = applicationSite.ApplicationName; ServerManager serverManager = new ServerManager(); SiteCollection siteCollection = serverManager.Sites; ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools; ApplicationPool applicationPool = applicationPoolCollection.Add(applicationName); if (applicationPool != null) { applicationPool.AutoStart = true; applicationPool.Enable32BitAppOnWin64 = false; applicationPool.ManagedRuntimeVersion = "v4.0"; applicationPool.ManagedPipelineMode = ManagedPipelineMode.Integrated; applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.ApplicationPoolIdentity; } string physicalPath = applicationSite.PhysicalPath.Destination; Site site = siteCollection.Add(applicationName, physicalPath, 80); site.ServerAutoStart = true; site.ApplicationDefaults.ApplicationPoolName = applicationPool.Name; site.Applications[0].ApplicationPoolName = applicationPool.Name; string protocol = "http"; string ipAddress = "*"; string port = "80"; string hostName = "*"; string bindingInformation = string.Format("{0}:{1}:{2}", ipAddress, port, hostName); site.Bindings.Clear(); foreach (BindingInformationModel itemBindingInformation in applicationSite.BindingInformation) { protocol = itemBindingInformation.Protocol; ipAddress = itemBindingInformation.IPAddress; port = itemBindingInformation.Port; hostName = itemBindingInformation.HostName; bindingInformation = string.Format("{0}:{1}:{2}", ipAddress, port, hostName); site.Bindings.Add(bindingInformation, protocol); } serverManager.CommitChanges(); _logger.InfoFormat("[{0}] - ApplicationSite created", MethodInfo.GetCurrentMethod().Name); _logger.InfoFormat("[{0}] - =============================================", MethodInfo.GetCurrentMethod().Name); } catch (Exception ex) { _logger.Error(string.Format("[{0}] - Problem on parse ApplicationSite config. Message: {1}", MethodInfo.GetCurrentMethod().Name, ex.Message), ex); _logger.InfoFormat("[{0}] - =============================================", MethodInfo.GetCurrentMethod().Name); } } else { _logger.InfoFormat("[{0}] - ApplicationSite file config not found, can't create ApplicationSite", MethodInfo.GetCurrentMethod().Name); _logger.InfoFormat("[{0}] - =============================================", MethodInfo.GetCurrentMethod().Name); } }