private void SaveVirtualDir() { if (!Page.IsValid) { return; } // load original web site item SharedSSLFolder vdir = ES.Services.WebServers.GetSharedSSLFolder(PanelRequest.ItemID); // other controls webSitesExtensionsControl.SaveWebItem(vdir); webSitesHomeFolderControl.SaveWebItem(vdir); webSitesMimeTypesControl.SaveWebItem(vdir); webSitesCustomHeadersControl.SaveWebItem(vdir); webSitesCustomErrorsControl.SaveWebItem(vdir); // update web site try { int result = ES.Services.WebServers.UpdateSharedSSLFolder(vdir); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("WEB_UPDATE_VDIR", ex); return; } RedirectSpaceHomePage(); }
private void BindVirtualDir() { SharedSSLFolder vdir = null; try { vdir = ES.Services.WebServers.GetSharedSSLFolder(PanelRequest.ItemID); } catch (Exception ex) { ShowErrorMessage("WEB_GET_VDIR", ex); return; } if (vdir == null) { RedirectSpaceHomePage(); } PackageId = vdir.PackageId; // bind site string fullName = vdir.Name; lnkSiteName.Text = "https://" + fullName; lnkSiteName.NavigateUrl = "https://" + fullName; // bind controls webSitesHomeFolderControl.BindWebItem(PackageId, vdir); webSitesExtensionsControl.BindWebItem(PackageId, vdir); webSitesMimeTypesControl.BindWebItem(vdir); webSitesCustomHeadersControl.BindWebItem(vdir); webSitesCustomErrorsControl.BindWebItem(vdir); // bind tabs BindTabs(); }
/// <remarks/> public void UpdateSharedSSLFolderAsync(SharedSSLFolder vdir, object userState) { if ((this.UpdateSharedSSLFolderOperationCompleted == null)) { this.UpdateSharedSSLFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSharedSSLFolderOperationCompleted); } this.InvokeAsync("UpdateSharedSSLFolder", new object[] { vdir}, this.UpdateSharedSSLFolderOperationCompleted, userState); }
/// <remarks/> public void UpdateSharedSSLFolderAsync(SharedSSLFolder vdir) { this.UpdateSharedSSLFolderAsync(vdir, null); }
/// <remarks/> public System.IAsyncResult BeginUpdateSharedSSLFolder(SharedSSLFolder vdir, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("UpdateSharedSSLFolder", new object[] { vdir}, callback, asyncState); }
public int UpdateSharedSSLFolder(SharedSSLFolder vdir) { object[] results = this.Invoke("UpdateSharedSSLFolder", new object[] { vdir}); return ((int)(results[0])); }
public static int UpdateSharedSSLFolder(SharedSSLFolder vdir) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; // load original item SharedSSLFolder origVdir = (SharedSSLFolder)PackageController.GetPackageItem(vdir.Id); if (origVdir == null) return 0; // place log record TaskManager.StartTask("WEB_SITE", "UPDATE_SSL_FOLDER", origVdir.Name); TaskManager.ItemId = vdir.Id; try { int idx = origVdir.Name.LastIndexOf("/"); string domainName = origVdir.Name.Substring(0, idx); string vdirName = origVdir.Name.Substring(idx + 1); WebServer web = GetWebServer(origVdir.ServiceId); string siteId = web.GetSiteId(domainName); if (siteId == null) return 0; // normalize path vdir.ContentPath = FilesController.GetFullPackagePath(origVdir.PackageId, vdir.ContentPath); vdir.Name = vdirName; // copy object WebVirtualDirectory virtDir = ObjectUtils.ConvertObject<SharedSSLFolder, WebVirtualDirectory>(vdir); // update directory web.UpdateVirtualDirectory(siteId, virtDir); return 0; } catch (Exception ex) { throw TaskManager.WriteError(ex); } finally { TaskManager.CompleteTask(); } }
public static int AddSharedSSLFolder(int packageId, string sslDomain, int webSiteId, string vdirName, string vdirPath) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; // check package int packageCheck = SecurityContext.CheckPackage(packageId, DemandPackage.IsActive); if (packageCheck < 0) return packageCheck; // check quota QuotaValueInfo sitesQuota = PackageController.GetPackageQuota(packageId, Quotas.WEB_SHAREDSSL); if (sitesQuota.QuotaExhausted) return BusinessErrorCodes.ERROR_WEB_SHARED_SSL_QUOTA_LIMIT; //get site WebSite site = GetWebSite(webSiteId); bool updateRequired = (site != null) && (site.Name.Equals(sslDomain, StringComparison.InvariantCulture) != true); // place log record TaskManager.StartTask("WEB_SITE", "ADD_SSL_FOLDER", sslDomain); TaskManager.WriteParameter("Directory name", vdirName); TaskManager.WriteParameter("Path", vdirPath); try { // create virtual directory SharedSSLFolder dir = new SharedSSLFolder(); dir.Name = vdirName; dir.ContentPath = FilesController.GetFullPackagePath(packageId, vdirPath); dir.EnableAnonymousAccess = true; dir.EnableWindowsAuthentication = true; dir.EnableBasicAuthentication = false; //dir.InstalledDotNetFramework = aspNet; dir.DefaultDocs = null; // inherit from service dir.HttpRedirect = ""; dir.HttpErrors = null; dir.MimeMaps = null; // create directory int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Web); WebServer web = GetWebServer(serviceId); // get site id string siteId = web.GetSiteId(sslDomain); if (siteId == null) return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; // check if vdir exists if (web.VirtualDirectoryExists(siteId, vdirName)) return BusinessErrorCodes.ERROR_VDIR_ALREADY_EXISTS; if (updateRequired) { dir.ApplicationPool = site.ApplicationPool; dir.AnonymousUsername = site.AnonymousUsername; dir.AnonymousUserPassword = site.AnonymousUserPassword; dir.DedicatedApplicationPool = site.DedicatedApplicationPool; dir.AspInstalled = site.AspInstalled; dir.AspNetInstalled = site.AspNetInstalled; dir.CgiBinInstalled = site.CgiBinInstalled; } // create vdir WebVirtualDirectory virtDir = ObjectUtils.ConvertObject<SharedSSLFolder, WebVirtualDirectory>(dir); web.CreateVirtualDirectory(siteId, virtDir); //anonymous user and applcation pool if (updateRequired) { web.UpdateVirtualDirectory(siteId, virtDir); } // save item dir.Name = sslDomain + "/" + vdirName; dir.PackageId = packageId; dir.ServiceId = serviceId; TaskManager.ItemId = PackageController.AddPackageItem(dir); return TaskManager.ItemId; } catch (Exception ex) { throw TaskManager.WriteError(ex); } finally { TaskManager.CompleteTask(); } }
public int UpdateSharedSSLFolder(SharedSSLFolder vdir) { return(WebServerController.UpdateSharedSSLFolder(vdir)); }
public int UpdateSharedSSLFolder(SharedSSLFolder vdir) { return WebServerController.UpdateSharedSSLFolder(vdir); }