HttpListenerPrefixCollection.Add(String) HttpListenerPrefixCollection.Add(String) HttpListenerPrefixCollection.Add(String) HttpListenerPrefixCollection.Add(String) Method

Définition

Ajoute un préfixe URI (Uniform Resource Identifier) à la collection.Adds a Uniform Resource Identifier (URI) prefix to the collection.

public:
 virtual void Add(System::String ^ uriPrefix);
public void Add (string uriPrefix);
abstract member Add : string -> unit
override this.Add : string -> unit
Public Sub Add (uriPrefix As String)

Paramètres

uriPrefix
String String String String

Un String qui identifie les informations d’URI qui sont comparées dans les demandes entrantes.A String that identifies the URI information that is compared in incoming requests. Le préfixe doit se terminer par une barre oblique (« / »).The prefix must be terminated with a forward slash ("/").

Implémente

Exceptions

uriPrefix n’utilise pas le schéma http:// ou https://.uriPrefix does not use the http:// or https:// scheme. Ces schémas sont les seuls pris en charge pour les objets HttpListener.These are the only schemes supported for HttpListener objects.

ou-or- uriPrefix n’est pas un préfixe d’URI correctement mis en forme.uriPrefix is not a correctly formatted URI prefix. Assurez-vous que la chaîne se termine par une barre oblique (« / »).Make sure the string is terminated with a "/".

Le HttpListener associé à cette collection est fermé.The HttpListener associated with this collection is closed.

Un appel de fonction Windows a échoué.A Windows function call failed. Vérifiez la propriété ErrorCode de l’exception pour déterminer la cause de l’exception.Check the exception's ErrorCode property to determine the cause of the exception. Cette exception est levée si un autre HttpListener a déjà ajouté le préfixe uriPrefix.This exception is thrown if another HttpListener has already added the prefix uriPrefix.

Exemples

L’exemple de code suivant crée un HttpListener et ajoute des préfixes de spécifié par l’utilisateur à son HttpListenerPrefixCollection.The following code example creates an HttpListener and adds user-specified prefixes to its HttpListenerPrefixCollection.

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
    if (!HttpListener.IsSupported)
    {
        Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
        return;
    }
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    if (prefixes == null || prefixes.Length == 0)
      throw new ArgumentException("prefixes");
    
    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // Note: The GetContext method blocks while waiting for a request. 
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
    listener.Stop();
}
Public Shared Sub SimpleListenerExample(prefixes As String())
    If Not HttpListener.IsSupported Then
        Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.")
        Return
    End If
    ' URI prefixes are required,
    ' for example "http://contoso.com:8080/index/".
    If prefixes Is Nothing Or prefixes.Length = 0 Then
        Throw New ArgumentException("prefixes")
    End If

    ' Create a listener
    Dim listener = New HttpListener()

    For Each s As String In prefixes
        listener.Prefixes.Add(s)
    Next
    listener.Start()
    Console.WriteLine("Listening...")
    ' Note: The GetContext method blocks while waiting for a request.
    Dim context As HttpListenerContext = listener.GetContext()
    Console.WriteLine("Listening...")
    ' Obtain a response object
    Dim request As HttpListenerRequest = context.Request
    ' Construct a response.
    Dim response As HttpListenerResponse = context.Response
    Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
    Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
    ' Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length
    Dim output As System.IO.Stream = response.OutputStream
    output.Write(buffer, 0, buffer.Length)
    'You must close the output stream.
    output.Close()
    listener.Stop()
End Sub

Remarques

Cette méthode ajoute un préfixe URI pour le jeu de préfixes gérée par associé HttpListener objet.This method adds a URI prefix to the set of prefixes managed by the associated HttpListener object. Lors de la vérification uriPrefix pour vous assurer qu’il n’est valide, la casse est ignorée.When checking uriPrefix to ensure it is valid, case is ignored.

Une chaîne de préfixe URI est composée d’un schéma (http ou https), un ordinateur hôte, un port facultatif et un chemin d’accès facultatif, par exemple, «http://www.contoso.com:8080/customerData/».A URI prefix string is composed of a scheme (http or https), a host, an optional port, and an optional path, for example, "http://www.contoso.com:8080/customerData/". Le préfixe doit se terminer par une barre oblique (« / »).The prefix must be terminated with a forward slash ("/"). Le HttpListener avec le préfixe qui correspond le mieux à un URI demandé répond à la demande.The HttpListener with the prefix that most closely matches a requested URI responds to the request. Plusieurs HttpListener objets ne peut pas ajouter le même préfixe.Multiple HttpListener objects cannot add the same prefix. Un HttpListenerException exception est levée si un HttpListener ajoute un préfixe qui est déjà utiliser.An HttpListenerException exception is thrown if an HttpListener adds a prefix that is already in use.

Lorsqu’un port est spécifié, l’élément hôte peut être remplacé par «*» pour indiquer que le HttpListener accepte les demandes envoyées au port si l’URI demandé ne correspond pas à n’importe quel autre préfixe.When a port is specified, the host element can be replaced with "*" to indicate that the HttpListener accepts requests sent to the port if the requested URI does not match any other prefix. Par exemple, pour recevoir toutes les demandes envoyées au port 8080 lorsque l’URI demandé n’est pas géré par un autre HttpListener, le préfixe est «http://*:8080/».For example, to receive all requests sent to port 8080 when the requested URI is not handled by any other HttpListener, the prefix is "http://*:8080/". De même, pour spécifier que le HttpListener accepte toutes les demandes envoyées à un port, remplacez l’élément hôte avec le «+« character »,https://+:8080/».Similarly, to specify that the HttpListener accepts all requests sent to a port, replace the host element with the "+" character, "https://+:8080/". Le «*« et »+» les caractères peuvent être présents dans les préfixes qui incluent des chemins d’accès.The "*" and "+" characters can be present in prefixes that include paths.

Les sous-domaines génériques à partir de .NET 4.5.3 et Windows 10, sont pris en charge dans les préfixes URI qui sont gérés par un HttpListener objet.Starting with .NET 4.5.3 and Windows 10, wildcard subdomains are supported in URI prefixes that are managed by an HttpListener object. Pour spécifier un sous-domaine de caractère générique, utilisez le «*« caractère en tant que partie du nom d’hôte dans un préfixe URI : par exemple, http://*.foo.com/et le transmettre comme argument à la méthode HttpListenerPrefixCollection.Add.To specify a wildcard subdomain, use the "*" character as part of the hostname in a URI prefix: for example, http://*.foo.com/, and pass this as the argument to the HttpListenerPrefixCollection.Add method. Cela fonctionne sur .NET 4.5.3 et Windows 10 ; dans les versions antérieures, cela générerait une HttpListenerExceptionThis will work on .NET 4.5.3 and Windows 10; in earlier versions, this would generate an HttpListenerException

Sécurité

WebPermission
Pour accepter les connexions réseau.To accept network connections. Énumération associée : AcceptAssociated enumeration: Accept

S’applique à

Voir aussi