/// <summary> /// Sets a connection string for a website. /// </summary> /// <param name="name">Name of the website.</param> /// <param name="key">Connection string key.</param> /// <param name="value">Value for the connection string.</param> /// <param name="connectionStringType">Type of connection string.</param> public void SetConnectionString(string name, string key, string value, DatabaseType connectionStringType) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig( subscriptionId, website.WebSpace, website.Name); var index = configuration.ConnectionStrings.FindIndex(cs => cs.Name.Equals(key, StringComparison.OrdinalIgnoreCase)); if (index == -1) { configuration.ConnectionStrings.Add(new ConnStringInfo() { Name = key, ConnectionString = value, Type = connectionStringType }); } else { configuration.ConnectionStrings[index].ConnectionString = value; configuration.ConnectionStrings[index].Type = connectionStringType; } WebsiteChannel.UpdateSiteConfig(subscriptionId, website.WebSpace, website.Name, configuration); }
private void ChangeWebsiteState(string name, string webspace, WebsiteState state) { Site siteUpdate = new Site { Name = name, State = state.ToString() }; WebsiteChannel.UpdateSite(subscriptionId, webspace, name, siteUpdate); }
/// <summary> /// Gets the website configuration. /// </summary> /// <param name="name">The website name</param> /// <returns>The website configuration object</returns> public SiteWithConfig GetWebsiteConfiguration(string name) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig(subscriptionId, website.WebSpace, website.Name); DiagnosticsSettings diagnosticsSettings = GetApplicationDiagnosticsSettings(website.Name); SiteWithConfig siteWithConfig = new SiteWithConfig(website, configuration, diagnosticsSettings); return(siteWithConfig); }
/// <summary> /// Gets a website instance. /// </summary> /// <param name="name">The website name</param> /// <returns>The website instance</returns> public Site GetWebsite(string name) { name = GetWebsiteName(name); Site website = WebsiteChannel.GetSiteWithCache(subscriptionId, name, null); if (website == null) { throw new Exception(string.Format(Resources.InvalidWebsite, name)); } return(website); }
private Repository TryGetRepository(string websiteName) { Site site = WebsiteChannel.GetSiteWithCache( subscriptionId, websiteName, "repositoryuri,publishingpassword,publishingusername"); if (site != null) { return(new Repository(site)); } return(null); }
private Repository GetRepository(string websiteName) { Site site = WebsiteChannel.GetSiteWithCache( subscriptionId, websiteName, "repositoryuri,publishingpassword,publishingusername"); if (site != null) { return(new Repository(site)); } throw new Exception(Resources.RepositoryNotSetup); }
/// <summary> /// Adds an AppSetting of a website. /// </summary> /// <param name="name">The website name</param> /// <param name="key">The app setting name</param> /// <param name="value">The app setting value</param> public void AddAppSetting(string name, string key, string value) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig( SubscriptionId, website.WebSpace, website.Name); configuration.AppSettings.Add(new NameValuePair() { Name = key, Value = value }); WebsiteChannel.UpdateSiteConfig(SubscriptionId, website.WebSpace, website.Name, configuration); }
/// <summary> /// Gets the index of an application setting. Returns -1 if not found. /// </summary> /// <param name="name">The website name</param> /// <param name="key">the applicationsetting key</param> /// <returns>The application setting index</returns> private int GetAppSettingIndex(string name, string key) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig( subscriptionId, website.WebSpace, website.Name); for (int i = 0; i < configuration.AppSettings.Count; i++) { if (configuration.AppSettings[i].Name.Equals(key, StringComparison.OrdinalIgnoreCase)) { return(i); } } return(-1); }
/// <summary> /// Lists available website locations. /// </summary> /// <returns>List of location names</returns> public List <string> ListAvailableLocations() { List <string> locations = new List <string>(); WebSpaces webspaces = WebsiteChannel.GetWebSpaces(subscriptionId); List <string> webspacesGeoRegions = new List <string>(); webspaces.ForEach(w => webspacesGeoRegions.Add(w.GeoRegion)); GeoRegions regions = new GeoRegions(); using (HttpClient client = CreateWebsitesHttpClient()) { regions = client.GetXml <GeoRegions>(UriElements.WebSpacesGeoRegionsRoot, Logger); } regions.ForEach(r => locations.Add(r.Name)); locations = locations.Union(webspacesGeoRegions).ToList(); return(locations); }
private void SetSiteDiagnosticsSettings( string name, bool webServerLogging, bool detailedErrorMessages, bool failedRequestTracing, bool setFlag) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig( subscriptionId, website.WebSpace, website.Name); configuration.HttpLoggingEnabled = webServerLogging ? setFlag : configuration.HttpLoggingEnabled; configuration.DetailedErrorLoggingEnabled = detailedErrorMessages ? setFlag : configuration.DetailedErrorLoggingEnabled; configuration.RequestTracingEnabled = failedRequestTracing ? setFlag : configuration.RequestTracingEnabled; WebsiteChannel.UpdateSiteConfig(subscriptionId, website.WebSpace, website.Name, configuration); }
/// <summary> /// Sets an AppSetting of a website. /// </summary> /// <param name="name">The website name</param> /// <param name="key">The app setting name</param> /// <param name="value">The app setting value</param> public void SetAppSetting(string name, string key, string value) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig( subscriptionId, website.WebSpace, website.Name); int index = GetAppSettingIndex(name, key); if (index != -1) { configuration.AppSettings[index].Value = value; } else { configuration.AppSettings.Add(new NameValuePair() { Name = key, Value = value }); } WebsiteChannel.UpdateSiteConfig(subscriptionId, website.WebSpace, website.Name, configuration); }