SiteCollection.Remove(Site) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes the specified site from the site collection.
public:
void Remove(Microsoft::Web::Administration::Site ^ element);
public void Remove (Microsoft.Web.Administration.Site element);
override this.Remove : Microsoft.Web.Administration.Site -> unit
Public Sub Remove (element As Site)
Parameters
- element
- Site
The Site object to remove from the SiteCollection object.
Exceptions
element
is null
.
Examples
The following example creates a site, removes a site, and updates the configuration system.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Web.Administration;
using Microsoft.Web.Management;
namespace AdministrationSnippets
{
class MicrosoftWebAdministrationSite
{
// Creates an site named HRWeb
public void CreateSite()
{
CreateSiteByName("HRWeb");
}
// Creates a new site with the specified name
public void CreateSiteByName(string name)
{
string path = @"C:\inetpub\" + name + "site";
// Validate the site name
char[] invalid = SiteCollection.InvalidSiteNameCharacters();
if (name.IndexOfAny(invalid) > -1)
{
Console.WriteLine("Invalid site name: {0}", name);
}
// Create the content directory if it doesn't exist.
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
// Create a new site using the new directory and update the config
ServerManager manager = new ServerManager();
try
{ // Add this site.
Site hrSite = manager.Sites.Add(name, "http", "*:9090:", path);
// The site will need to be started manually.
hrSite.ServerAutoStart = false;
manager.CommitChanges();
Console.WriteLine("Site " + name + " added to ApplicationHost.config file.");
}
catch
{
// A site with this binding already exists. Do not attempt
// to add a duplicate site.
}
}
// Creates a site, then deletes it
public void RemoveSite()
{
// Create a site to delete first
CreateSiteByName("HRWeb");
// Delete the site just created
RemoveSiteByName("HRWeb");
}
// Deletes a new site based on the name
public void RemoveSiteByName(string siteName)
{
ServerManager manager = new ServerManager();
Site siteToRemove = manager.Sites[siteName];
manager.Sites.Remove(siteToRemove);
manager.CommitChanges();
Console.WriteLine("Site " + siteName + " removed from ApplicationHost.config file.");
}
}
}
Remarks
The Site object is removed from the collection in memory during this call. However, to commit the site configuration to the configuration system, you will need to use the ServerManager class to perform the update.