コード例 #1
0
 private void UpdateIntegratedMetabase(ADOwaVirtualDirectory dataObject)
 {
     if (Datacenter.IsMultiTenancyEnabled())
     {
         base.WriteError(new TaskException(Strings.IntegratedVDirNotSupported), ErrorCategory.InvalidOperation, null);
         return;
     }
     try
     {
         using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "Integrated"))
         {
             bool flag = false;
             if (dataObject.IntegratedFeaturesEnabled != null && dataObject.IntegratedFeaturesEnabled != null)
             {
                 flag = dataObject.IntegratedFeaturesEnabled.Value;
             }
             if (flag)
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, MetabasePropertyTypes.AuthFlags.Ntlm, true);
             }
             else
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.None, true);
                 this.WriteWarning(Strings.IntegratedVDirDisabledWarning);
             }
             directoryEntry.CommitChanges();
         }
     }
     catch (WebObjectNotFoundException)
     {
         base.WriteError(new TaskException(Strings.IntegratedVDirNotFound), ErrorCategory.InvalidOperation, null);
     }
 }
コード例 #2
0
 private void UpdateCalendarMetabase(ADOwaVirtualDirectory dataObject)
 {
     try
     {
         using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "Calendar"))
         {
             if (dataObject.AnonymousFeaturesEnabled == true)
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, MetabasePropertyTypes.AuthFlags.Anonymous, true);
             }
             else
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.None, true);
             }
             directoryEntry.CommitChanges();
         }
         if (dataObject.AnonymousFeaturesEnabled == false)
         {
             this.WriteWarning(Strings.CalendarVDirDisabledWarning);
         }
     }
     catch (WebObjectNotFoundException)
     {
         base.WriteError(new TaskException(Strings.CalendarVDirNotFound), ErrorCategory.InvalidOperation, null);
     }
 }
コード例 #3
0
 private void SaveAppPoolName()
 {
     using (DirectoryEntry directoryEntry = IisUtility.CreateIISDirectoryEntry(this.Parent))
     {
         DirectoryEntry directoryEntry2 = IisUtility.FindWebDirObject(this.Parent, this.Name);
         if (!string.Equals((string)directoryEntry.Properties["AppRoot"].Value, (string)directoryEntry2.Properties["AppRoot"].Value, StringComparison.InvariantCultureIgnoreCase) && !string.Equals((string)directoryEntry.Properties["AppPoolId"].Value, (string)directoryEntry2.Properties["AppPoolId"].Value, StringComparison.InvariantCultureIgnoreCase))
         {
             this.applicationPool = (string)directoryEntry2.Properties["AppPoolId"].Value;
         }
     }
 }
コード例 #4
0
 private void UpdateOmaMetabase(ADOwaVirtualDirectory dataObject)
 {
     try
     {
         using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "oma"))
         {
             if (dataObject.LiveIdAuthentication)
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.Basic, false);
             }
             else
             {
                 IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.Basic, true);
             }
             directoryEntry.CommitChanges();
         }
     }
     catch (WebObjectNotFoundException)
     {
         base.WriteError(new TaskException(Strings.OmaVDirNotFound), ErrorCategory.InvalidOperation, null);
     }
 }
コード例 #5
0
        public void Execute()
        {
            this.checkPoints.Clear();
            this.SaveLocalPath();
            this.SaveAppPoolName();
            try
            {
                IisUtility.FindWebDirObject(this.Parent, this.Name);
                IisUtility.DeleteWebDirObject(this.Parent, this.Name);
                this.checkPoints.Push(DeleteVirtualDirectory.CheckPoint.VirtualDirectoryDeleted);
            }
            catch (WebObjectNotFoundException)
            {
            }
            string hostName = IisUtility.GetHostName(this.parent);

            if (this.applicationPool != null && IisUtility.IsSupportedIisVersion(hostName))
            {
                if (!this.DeleteApplicationPool)
                {
                    if (!IisUtility.ApplicationPoolIsEmpty(this.applicationPool, hostName))
                    {
                        return;
                    }
                }
                try
                {
                    string appPoolRootPath = IisUtility.GetAppPoolRootPath(hostName);
                    IisUtility.FindWebObject(appPoolRootPath, this.applicationPool, "IIsApplicationPool");
                    IisUtility.DeleteApplicationPool(hostName, this.applicationPool);
                    this.checkPoints.Push(DeleteVirtualDirectory.CheckPoint.ApplicationPoolDeleted);
                }
                catch (WebObjectNotFoundException)
                {
                }
            }
        }