Share via


SiteCollection.InvalidSiteNameCharacters Method

Definition

Retrieves an array of characters that cannot be used in the name of a site.

public:
 static cli::array <char> ^ InvalidSiteNameCharacters();
public static char[] InvalidSiteNameCharacters ();
static member InvalidSiteNameCharacters : unit -> char[]
Public Shared Function InvalidSiteNameCharacters () As Char()

Returns

Char[]

An array of characters that cannot be used in the name of a site.

Examples

The following example creates a site, validates the site name, 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.
    }
}
    }
}

Remarks

In a Windows operating system that is running the common language runtime (CLR), this method will return the following characters: \?;:@&=+$,|"<>*

Applies to