IdnMapping.UseStd3AsciiRules Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of standaard- of ontspannen naamconventies worden gebruikt in bewerkingen die worden uitgevoerd door leden van het huidige IdnMapping object.

public:
 property bool UseStd3AsciiRules { bool get(); void set(bool value); };
public bool UseStd3AsciiRules { get; set; }
member this.UseStd3AsciiRules : bool with get, set
Public Property UseStd3AsciiRules As Boolean

Waarde van eigenschap

true als standaardnaamconventies worden gebruikt in bewerkingen; anders, false.

Voorbeelden

In het volgende voorbeeld worden URL's gegenereerd die tekens bevatten in het ASCII-bereik van U+0000 tot U+007F en deze doorgeven aan de GetAscii(String) methode van twee IdnMapping objecten. Het ene object heeft de UseStd3AsciiRules eigenschap ingesteld op true, en het andere object heeft het ingesteld op false. In de uitvoer worden de tekens weergegeven die ongeldig zijn wanneer de UseStd3AsciiRules eigenschap maar geldig is true wanneer deze is false.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int nFailed = 0;
      IdnMapping idnStd = new IdnMapping();
      idnStd.UseStd3AsciiRules = true;

      IdnMapping idnRelaxed = new IdnMapping();
      idnRelaxed.UseStd3AsciiRules = false;  // The default, but make it explicit.

      for (int ctr = 0; ctr <= 0x7F; ctr++) {
         string name = $"Prose{ctr}ware.com";

         bool stdFailed = false;
         bool relaxedFailed = false;
         string punyCode = "";
         try {
            punyCode = idnStd.GetAscii(name);
         }
         catch (ArgumentException) {
            stdFailed = true;
         }

         try {
            punyCode = idnRelaxed.GetAscii(name);
         }
         catch (ArgumentException) {
            relaxedFailed = true;
         }

         if (relaxedFailed != stdFailed) {
            Console.Write("U+{0:X4}     ", ctr);
            nFailed++;
            if (nFailed % 5 == 0)
               Console.WriteLine();
         }
      }
   }
}
// The example displays the following output:
//       U+0020     U+0021     U+0022     U+0023     U+0024
//       U+0025     U+0026     U+0027     U+0028     U+0029
//       U+002A     U+002B     U+002C     U+002F     U+003A
//       U+003B     U+003C     U+003D     U+003E     U+003F
//       U+0040     U+005B     U+005C     U+005D     U+005E
//       U+005F     U+0060     U+007B     U+007C     U+007D
//       U+007E
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim nFailed As Integer = 0
      Dim idnStd As New IdnMapping()
      idnStd.UseStd3AsciiRules = True
      
      Dim idnRelaxed As New IdnMapping
      idnRelaxed.UseStd3AsciiRules = False     ' The default, but make it explicit.
      
      For ctr As Integer = 0 To &h7F 
         Dim name As String = "Prose" + ChrW(ctr) + "ware.com"
         
         Dim stdFailed As Boolean = False
         Dim relaxedFailed As Boolean = False
         Dim punyCode As String
         Try
            punyCode = idnStd.GetAscii(name)
         Catch e As ArgumentException
            stdFailed = True
         End Try       
         
         Try
            punyCode = idnRelaxed.GetAscii(name)
         Catch e As ArgumentException
            relaxedFailed = True
         End Try       
         
         If relaxedFailed <> stdFailed Then
            Console.Write("U+{0:X4}     ", ctr)
            nFailed += 1
            If nFailed Mod 5 = 0 Then Console.WriteLine()         
         End If 
      Next   
   End Sub
End Module
' The example displays the following output:
'       U+0020     U+0021     U+0022     U+0023     U+0024
'       U+0025     U+0026     U+0027     U+0028     U+0029
'       U+002A     U+002B     U+002C     U+002F     U+003A
'       U+003B     U+003C     U+003D     U+003E     U+003F
'       U+0040     U+005B     U+005C     U+005D     U+005E
'       U+005F     U+0060     U+007B     U+007C     U+007D
'       U+007E

Opmerkingen

Domeinnamen die voldoen aan de standaardnaamgevingsregels, bestaan uit een specifieke subset van tekens in het US-ASCII tekenbereik. De tekens zijn de letters A tot en met Z, de cijfers 0 tot en met 9, het afbreekstreepje (-) (U+002D) en het puntteken (.). Het hoofdlettergebruik van de tekens is niet significant. Met ontspannen naamconventies kunt u gebruikmaken van een breder scala aan ASCII-tekens, inclusief het spatieteken (U+0020), het uitroepteken (U+0021) en het onderbalkteken (U+005F). Als UseStd3AsciiRules dat het is true, kunnen alleen standaardtekens worden weergegeven in een label dat door de GetAscii methode wordt geretourneerd.

De waarde van de UseStd3AsciiRules eigenschap is falsestandaard en een uitgebreide subset van ASCII-tekens is toegestaan in een label.

Note

De IdnMapping klasse verbiedt het gebruik van niet-weer te geven tekens U+0000 tot en met U+001F en U+007F in domeinnaamlabels, ongeacht de instelling van de UseStd3AsciiRules eigenschap. Dit verbod vermindert het risico op beveiligingsaanvallen, zoals naamvervalsing.

Van toepassing op