public static PropertyBag SerializeSiteDefaults(ServerManager serverManager) { FtpSite ftpSiteDefaultElement = FtpHelper.GetFtpSiteDefaultElement(serverManager.SiteDefaults); PropertyBag bag = new PropertyBag(true); SerializeFtpSiteProperties(ftpSiteDefaultElement, bag); return(bag); }
public void EditSiteDefaults(PropertyBag bag) { if (bag == null) { throw new ArgumentNullException("bag"); } SitesHelper.DeserializeFtpSiteProperties(FtpHelper.GetFtpSiteDefaultElement(ServerManager.SiteDefaults), bag); ServerManager.CommitChanges(); }
/// <summary> /// Gets authorization collection for a given site. /// </summary> /// <param name="siteName">Site's name to get authorization collection for.</param> /// <returns>Authorization collection.</returns> public AuthorizationRuleCollection GetAuthorizationRuleCollection(string siteName) { AuthorizationSection section = (AuthorizationSection)FtpHelper.GetAppHostSection(ServerManager, "system.ftpServer/security/authorization", typeof(AuthorizationSection), ManagementConfigurationPath.CreateSiteConfigurationPath(siteName)); AuthorizationRuleCollection rules = section.Rules; if (rules == null) { throw new Exception("ConfigurationError"); } return(rules); }
/// <summary> /// Gets ftp site with given name. /// </summary> /// <param name="siteName">Site's name.</param> /// <returns>Ftp site.</returns> public FtpSite GetIisFtpSite(string siteName) { Site site = this.GetIisSite(siteName); if (site == null) { throw new ArgumentException("Site with given name doesn't exist.", "siteName"); } FtpSite ftpSiteElement = FtpHelper.GetFtpSiteElement(site); ftpSiteElement.SiteServiceId = Convert.ToString(site.Id); // return(ftpSiteElement); }
public PropertyBag GetSiteProperties(string siteName) { if (string.IsNullOrEmpty(siteName)) { throw new ArgumentNullException(siteName); } Site site = ServerManager.Sites[siteName]; if (site == null) { throw new Exception("SiteDoesNotExistExceptionError"); } PropertyBag bag = SitesHelper.SerializeSite(site); SitesHelper.SerializeFtpSiteProperties(FtpHelper.GetFtpSiteElement(site), bag); return(bag); }
public PropertyBag EditSiteProperties(PropertyBag bag) { if (bag == null) { throw new ArgumentNullException("bag"); } string siteName = (string)bag[100]; PropertyBag bindingBag = (PropertyBag)bag[0x68]; if (bindingBag != null) { this.AddSiteBinding(siteName, bindingBag); } Site site = ServerManager.Sites[siteName]; if (site == null) { throw new Exception("SiteDoesNotExistCannotEditExceptionError"); } SitesHelper.DeserializeSiteProperties(site, bag); PropertyBag authBag = (PropertyBag)bag[0x1a6]; if (authBag != null) { this.AddAuthorizationRules(siteName, authBag); } // ServerManager.CommitChanges(); // site = ServerManager.Sites[siteName]; try { FtpSite ftpSiteElement = FtpHelper.GetFtpSiteElement(site); if (ftpSiteElement.ServerAutoStart) { ftpSiteElement.Start(); } } catch { } return(SitesHelper.SerializeSite(site)); }