public ConnectionStringsSection GetSiteConnectionStrings(string siteName, bool isSite) { Application rootApplication = null; if (isSite) { var site = _sitesManager.GetSiteByName(siteName); var siteApplications = site.Applications; rootApplication = siteApplications.SingleOrDefault(x => x.Path == "/"); } else { rootApplication = _sitesManager.GetApplicationByPath(siteName); } var connectionStringFileUrl = ""; var dictionary = rootApplication.VirtualDirectories.FirstOrDefault(); connectionStringFileUrl += $@"{dictionary.PhysicalPath}\{_appConfigFineName}"; var map = new ExeConfigurationFileMap { ExeConfigFilename = connectionStringFileUrl }; var configFile = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); return(configFile.ConnectionStrings); }
/// <summary> /// Get path to configuration file /// </summary> /// <param name="siteName"></param> /// <param name="isSite"></param> /// <returns></returns> public string GetConfigurationFilePath(string siteName, bool isSite) { Application rootApplication; if (isSite) { var site = _sitesManager.GetSiteByName(siteName); var siteApplications = site.Applications; rootApplication = siteApplications.SingleOrDefault(x => x.Path == "/"); } else { rootApplication = _sitesManager.GetApplicationByPath(siteName); } var dictionary = rootApplication?.VirtualDirectories.FirstOrDefault(); return($@"{dictionary?.PhysicalPath}\{_appConfigFileName}"); }