internal static void CreateLegacyVDirs(string metabasePath, bool deleteObjectIfExists) { string webSiteRoot = IisUtility.GetWebSiteRoot(metabasePath); IList legacyVirtualDirectories = OwaVirtualDirectoryHelper.GetLegacyVirtualDirectories(); if (legacyVirtualDirectories != null) { ArrayList arrayList = new ArrayList(); arrayList.Add(new MetabaseProperty("HttpRedirect", "/owa")); string localPath = Path.Combine(ConfigurationContext.Setup.InstallPath, "ClientAccess\\owa"); OwaVirtualDirectoryHelper.CreatedLegacyVDirs.Clear(); foreach (object obj in legacyVirtualDirectories) { string text = (string)obj; if (deleteObjectIfExists && IisUtility.WebDirObjectExists(webSiteRoot, text)) { IisUtility.DeleteWebDirObject(webSiteRoot, text); } CreateVirtualDirectory createVirtualDirectory = new CreateVirtualDirectory(); createVirtualDirectory.Name = text; createVirtualDirectory.Parent = webSiteRoot; createVirtualDirectory.LocalPath = localPath; createVirtualDirectory.CustomizedVDirProperties = arrayList; createVirtualDirectory.Initialize(); createVirtualDirectory.Execute(); OwaVirtualDirectoryHelper.CreatedLegacyVDirs.Add(text); } } }
protected virtual void DeleteFromMetabase() { T dataObject = this.DataObject; string webSiteRoot = IisUtility.GetWebSiteRoot(dataObject.MetabasePath); ICollection childVirtualDirectoryNames = null; ListDictionary childVirtualDirectories = this.ChildVirtualDirectories; if (childVirtualDirectories != null) { childVirtualDirectoryNames = childVirtualDirectories.Keys; } DeleteVirtualDirectory.DeleteFromMetabase(webSiteRoot, base.Name, childVirtualDirectoryNames); }
protected override void DeleteFromMetabase() { string webSiteRoot = IisUtility.GetWebSiteRoot(base.DataObject.MetabasePath); IList legacyVirtualDirectories = OwaVirtualDirectoryHelper.GetLegacyVirtualDirectories(); if (legacyVirtualDirectories != null) { foreach (object obj in legacyVirtualDirectories) { string name = (string)obj; if (IisUtility.WebDirObjectExists(webSiteRoot, name)) { IisUtility.DeleteWebDirObject(webSiteRoot, name); } } } base.DeleteFromMetabase(); }
protected override void DeleteFromMetabase() { base.DeleteFromMetabase(); string webSiteRoot = IisUtility.GetWebSiteRoot(this.DataObject.MetabasePath); IList createdLegacyVDirs = OwaVirtualDirectoryHelper.CreatedLegacyVDirs; if (createdLegacyVDirs != null) { foreach (object obj in createdLegacyVDirs) { string name = (string)obj; if (IisUtility.WebDirObjectExists(webSiteRoot, name)) { IisUtility.DeleteWebDirObject(webSiteRoot, name); } } OwaVirtualDirectoryHelper.CreatedLegacyVDirs.Clear(); } }
internal static Uri GetFailBackUrl(EcpService ecpService) { Uri uri = null; if (VirtualDirectoryConfiguration.failbackUrlCache.TryGetValue(ecpService.MetabasePath, out uri)) { return(uri); } string webSiteRoot = IisUtility.GetWebSiteRoot(ecpService.MetabasePath); foreach (ADOwaVirtualDirectory adowaVirtualDirectory in VirtualDirectoryConfiguration.FindVirtualDirectoriesForServer <ADOwaVirtualDirectory>(ecpService.ServerFullyQualifiedDomainName)) { if (webSiteRoot.Equals(IisUtility.GetWebSiteRoot(adowaVirtualDirectory.MetabasePath), StringComparison.OrdinalIgnoreCase) && adowaVirtualDirectory.FailbackUrl != null) { uri = new UriBuilder(adowaVirtualDirectory.FailbackUrl) { Path = ecpService.Url.AbsolutePath, Query = ecpService.Url.Query }.Uri; } } VirtualDirectoryConfiguration.failbackUrlCache[ecpService.MetabasePath] = uri; return(uri); }